python-3.x - 如果输入是整数,甚至将输入转换为整数,如何使用布尔值进行检查
问题描述
我在int(input("my string"))
使用 .isdigit()检查输入的可选任务中失败了
没有这个可选任务,我解决了任务,但我想高效学习,所以我需要你们的帮助。
任务
获取 2 个整数的输入 转换输入并打印输入,后跟结果 输出示例:9 + 13 = 22
可选:在尝试整数加法之前检查是否输入 .isdigit() 以避免在转换无效输入时出错
到目前为止我的代码
int_nmbr1 = int(input("Enter first number: "))
int_nmbr2 = int(input("Enter second number: "))
if int_nmbr1.isdigit() & int_nmbr2.isdigit() == True: #Here i check it with is.digit() twice
print(int_nmbr1, " + ", int_nmbr2, " = ", int_nmbr1 + int_nmbr2)
控制台错误输出
AttributeError Traceback (last last call last) in () 3 int_nmbr2 = int(input("Enter second number: ")) 4 ----> 5 if int_nmbr1.isdigit() & int_nmbr2.isdigit() == True: 6打印(int_nmbr1,“+”,int_nmbr2,“=”,int_nmbr1 + int_nmbr2)
AttributeError:“int”对象没有属性“isdigit”
解决方案
您正在尝试isdigit
在int
数据类型上实现它,而它是str
. 通过使用,如果您使用 base10 输入任何值,则您int(input())
的输入已经是一个值。int
所以你不需要使用isdigit
. isdigit
用于检查它是否是字符串格式的任何数字。如果您仍有任何疑问,可以检查dir(str)
和dir(int)
。此外,您可以检查print(help(str.isdigit))
.
现在,如果输入了错误的数据类型,您可以使用exception handelings
. 你可以像这样使用它:
try:
int(input(“enter any number:”))
except ValueError:
print(“Please enter any integer value only”)
int(input(“enter any number:”))
如果您第一次输入任何其他数据类型而不是整数,上述代码将不会返回错误。
推荐阅读
- python - 如何在离散图形 AMD GPU 上运行 Python 脚本?
- intershop - 如何访问单个计算产品行项目的所有子组计算项目
- swift - 如何将数据转换为 UnsafeMutablePointer
? - javascript - 如何将 csv 数据保存到 nodejs 中的 .csv 文件中?
- oracle - 从 Kotlin 微服务获取 Oracle sql 的数据得到重复的结果
- typescript - 键入 svelte $store 变量
- c++ - Microsoft Visual C++ Redistributable 包提取的 dll 文件是什么?
- amazon-web-services - 手动将缺失值发送到 Amazon Forecast
- mysql - 在 SQL 中选择发送者和接收者之间的最后一条消息
- javascript - 如何在自定义钩子中测试 useEffect?