Python 创建使用.isdigit的代码
我是python新手。我正在创建一个使用.isdigit的代码。事情是这样的:Python 创建使用.isdigit的代码,python,Python,我是python新手。我正在创建一个使用.isdigit的代码。事情是这样的: a = int(input("Enter 1st number: ")) if 'a'.isdigit(): b = int(input("Enter 2nd number: ")) else: print "Your input is invalid." a = int(input("Enter 1st number: ")) if str(a).isdigit(): b = i
a = int(input("Enter 1st number: "))
if 'a'.isdigit():
b = int(input("Enter 2nd number: "))
else:
print "Your input is invalid."
a = int(input("Enter 1st number: "))
if str(a).isdigit():
b = int(input("Enter 2nd number: "))
else:
print("Your input is invalid.")
但是当我输入一个字母表时,它不会出现“你的输入无效”。
如果我输入一个数字,它不会显示b,‘输入第二个数字’
有没有人可以帮我看看我的代码有什么问题。
这将是一个很大的帮助。谢谢。您正在将输入分配给变量
a
,但是当您尝试使用isdigit()查询它时,实际上是在查询字符串'a'
,而不是您创建的变量
此外,在检查是否为int之前,您正在强制转换为int。如果需要将其转换为int,则应在运行.isdigit()检查后执行此操作:
尝试将
变量转换为字符串类型,如下所示:
a = int(input("Enter 1st number: "))
if 'a'.isdigit():
b = int(input("Enter 2nd number: "))
else:
print "Your input is invalid."
a = int(input("Enter 1st number: "))
if str(a).isdigit():
b = int(input("Enter 2nd number: "))
else:
print("Your input is invalid.")
不要使用int(),只要有一个=输入(“…”)在检查a是否为数字之前,您正在将a转换为数字,这似乎不符合逻辑。您可能应该在检查后将其转换,不是吗?您立即将输入转换为int,并且您正在测试char'a'
,而不是变量a
将始终为False
,因为字母'a'
不是数字。a.isdigit()
将取决于a
的值。请不要编辑问题标题中的“[已解决]”之类的内容。相反,请接受对您最有帮助的答案,或者如果没有答案(或者没有答案是解决方案),发布您自己的答案并在超时后接受。您可以省略eval
调用。这不是必需的。”要将输入转换为字符串(使用.isdigit()需要执行此操作),您需要使用str(a)。“-不,你没有。无需将a
强制转换为字符串<默认情况下,code>input
已经返回了一个字符串。为什么在这里使用eval
?哦,那是因为我用Python 3编写并自动转换了它。忘了删除它-我会解决的。@DanielRoseman实际上,经过仔细考虑,OP似乎使用的是Python 2,因此应该使用raw\u input
而不是裸input
。