我对Python完全陌生,我想写一个小程序。
它包括输入0.0到1.0之间的分数。在我写的代码中,它是非常基本的,我可以让它出现在终端上,它说enter score:
,但是,当我输入一个时,我得到错误message:'>=' not supported between instances of 'str' and 'float'
。
现在我知道我需要做点什么来修复它,但是我的大脑冻结了。什么好主意吗?
score = input("Enter score: ")
if score >= 0.9:
print('Error, try again!')
if score >= 0.85:
print('Well Done!!')
if score >= 0.7:
print('Error, try again')
if score >= 0.6:
print('Error, try again')
if score <= 0.6:
print("Error, invalid answer")
语句创建一个字符串称为score
,而不是数值(例如float
):
score = input("Enter score: ")
如果你想要一个数值,你需要这样做:
score = float(input("Enter score: "))
虽然你可能想把它包装在一个异常处理程序中,以防他们输入错误的数据:
score = None
while score is None:
try:
score = float(input("Enter score: "))
except ValueError:
print("*** That was NOT a valid score, try again.")
score = None # possibly not needed but just to be safe
now_do_something_with(score)
另外,如果您只想打印这些字符串中的一个,则需要稍微调整一下,例如:
if score >= 0.9:
print('Error, try again!')
elif score >= 0.85:
print('Well Done!!')
elif score >= 0.7:
print('Error, try again')
elif score >= 0.6:
print('Error, try again')
else # score <= 0.6:
print("Error, invalid answer")
顺便说一下,我不确定为什么你认为分数在90%或以上(低于85%)是不可获得的。但是我对这个假设没有价值判断,我假设你知道你在做什么值检查:-)