我尝试创建一个函数,首先检查输入是否不是字符串。但是如果用户输入一个浮点数,它就会得到 False。我需要它接受 Int 和 Float,bot 不是字符串。def squat(): value = input("What is your RM1?") if value.isnumeric(): rm1 = float(value) print("Your RM1 is: ", rm1) print(type(value)) else: print("Error")squat()
2 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
您可以try..except在您的情况下使用块
def squat():
value = input("What is your RM1?")
try:
rm1 = float(value)
except ValueError:
print("error")
exit(1)
撒科打诨
TA贡献1934条经验 获得超2个赞
该input()函数始终返回一个字符串。您可以使用正则表达式来检查字符串是否类似于数字:
import re
value = input('What is your RM1? ')
if re.match(r'^\d+(\.\d+)?$', value):
rm1 = float(value)
print('Your RM1 is: ', rm1)
else:
print('Error')
添加回答
举报
0/150
提交
取消