【发布时间】:2016-11-11 19:43:35
【问题描述】:
所以我又来了,一如既往地一无所知。我有点新手,所以这可能比我能咀嚼的更多,但无论如何。 该程序的重点是根据用户的输入值提供输出。如果用户没有输入正确的输入,它的目的是实现输入陷阱。
我正在尝试使输入字母或非整数值导致消息“请仅输入整数”。它适用于浮点数,但不适用于字母。我应该注意到“输入 0 到 10 之间的数字”消息工作正常。 此外,当用户输入“完成”时,循环应该关闭,但这只会导致 “ValueError: could not convert string to float: 'done'”。
我没有以 While True 格式编写此代码,因为我更愿意放弃这种编写 while 循环的方法。
setCount = 1
allScore = 0
done = False
while not done:
strScore = float (input ( "Enter Set#" + str(hwCount) + " score: "))
if (strScore == int (strScore) and strScore >=0 and strScore <=10):
totalScore = totalScore + (strScore)
setCount = setCount + 1
elif ( setScore == int (strScore) and( setScore < 0 or setScore > 10)):
print ("Please enter a number between 0 and 10.")
elif setScore != "done":
print ("Please enter only whole numbers.")
else:
done = True
【问题讨论】:
-
当用户输入
done时,您希望float(input(..))如何工作?当您期望输入可能不是浮点数时,不要立即转换为float!先检查是不是done。
标签: python while-loop