python - 如何仅获取整数或浮点输入
问题描述
我正在尝试用python制作一个计算器。但是,我希望用户能够输入整数或浮点数。但不是字符串,我该怎么做?
这是我当前的代码,但是,if 语句没有完成预期的工作。
def calculator():
x = (input("Please enter a number: "))
y = (input("Please enter a second number"))
if x or y != int or float:
print("Invalid input, please enter a number")
x = input("Please enter a number: ")
y = input("Now, please enter a second number: Press enter to leave blank: ")
解决方案
使用内置isinstance
函数。
def calculator():
def checker():
try:
x = int(input("Please enter a number: "))
assert (isinstance(x, int) or isinstance(x, float))
y = int(input("Please enter a second number: "))
assert (isinstance(y, int) or isinstance(y, float))
except (AssertionError, ValueError):
print("Invalid input!")
checker()
checker()
# <Your code here...>
calculator()
推荐阅读
- sql - SQL 使每一列成为一个新表
- vue.js - 如何使用 this.$refs.formName vuetify 访问我们在 v-form 中传入规则的自定义错误消息
- http - 直接从 url 搜索仅部分名称的文件的方法
- reactjs - 使用 Jest 测试状态变量
- php - 使用 PDO 语句为数据库创建变量
- javascript - 如何查看反应库的原始代码
- c# - 在 Xml 中序列化通用对象
- python - 在两列之间迭代和附加值的 for 循环
- tableau-api - 如何在 Tableau Online 中删除文本表上的水平线?
- django - 如果在 Django 中保留或预订,如何禁用日历上的日期?