我写了一个脚本,我想知道如何防止用户输入数字时我显示一条消息“数字不正确!只是字符串')。 谢谢。
data
答案 0 :(得分:0)
您有一个字符串。如果要检查是否为数字,可以使用以下代码:
a.replace('.','',1).isdigit()
因此您可以创建一个新的Elif,如下所示:
elif a.replace('.','',1).isdigit():
print("number is not OK! just string")
答案 1 :(得分:0)
这里的问题是input
总是返回一个字符串。 isdigit
会为您处理此问题,但它会因浮点数而失败(这是“替换解决方案”的原因)。
另一种方法可能是:
#!/usr/bin/env python
def is_a_number(s):
'''try to convert a string to int and float'''
try:
int(s)
return True
except:
pass
try:
float(s)
return True
except:
pass
return False
def main():
a=input('Please enter your Name : ')
if a=='foo':
print ('i found you finally')
elif is_a_number(a):
print('number is not OK! just string')
elif a=='':
print ('Null name is not ok!')
else:
print ('No you are not that person')
if __name__ == '__main__':
main()