对不起,我是初学者。但就像我有:
x = eval(input('Enter a value for x: '))
如何制作,以便如果此人输入字符串而不是数字,则会打印"Enter a number"
而不是出错。某些类型的if语句在哪里:
if x == str():
print('Please enter a number')
else:
print('blah blah blah')
答案 0 :(得分:0)
听起来你正在寻找str.isdigit
:
>>> x = input(':')
:abcd
>>> x.isdigit() # Returns False because x contains non-digit characters
False
>>> x= input(':')
:123
>>> x.isdigit() # Returns True because x contains only digits
True
>>>
在您的代码中,它将是:
if not x.isdigit():
print('Please enter a number')
else:
print('blah blah blah')
在旁注中,您应该避免使用eval(input(...))
,因为它可以用于执行任意表达式。换句话说,它通常是一个安全漏洞,因此被大多数Python程序员认为是一种不好的做法。参考: