我无法执行一个可选任务,在该任务中我使用.isdigit()检查int(input("my string"))
的输入
没有这个可选任务,我解决了任务,但我想学习高效,所以我需要您的帮助。
任务
获取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跟踪(最近一次通话) 在()中 3 int_nmbr2 = int(input(“输入第二个数字:”)) 4 ----> 5如果int_nmbr1.isdigit()和int_nmbr2.isdigit()==真: 6 print(int_nmbr1,“ +”,int_nmbr2,“ =”,int_nmbr1 + int_nmbr2)
AttributeError:“ int”对象没有属性“ isdigit”
答案 0 :(得分:0)
您正在尝试对isdigit
数据类型实施int
,尽管它是str
的一种方法。
通过使用int(input())
,如果您使用base10输入任何值,则您的输入已经是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:”))
如果您是第一次输入其他数据类型而不是整数,则上述代码不会返回错误。