根据值检查输入时出现错误

  • 本文关键字:错误 string floating-point
  • 更新时间 :
  • 英文 :


我对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%)是不可获得的。但是我对这个假设没有价值判断,我假设你知道你在做什么值检查:-)

相关内容

  • 没有找到相关文章

最新更新