问题描述
我一直在尝试通过猜数字程序来解决这个问题, 程序必须打印Ans的第一个数字为(Startlow + Starthigh)/ 2,然后更新Ans取决于输入
我不知道为什么我的while循环至少要等待2次,直到输出结果为止,即使我按l或h(除非按c),这都会中断循环。
Startlow = 0
Starthigh = 100
Ans = (Startlow + Starthigh)/2
print("Please think of a number between 0 and 100!")
while True:
print("Is your secret number " + str(int(Ans)))
if input() == "c":
print("Game over,Your secret number was: "+str(int(Ans)))
break
elif input() == "l":
Startlow = Ans
Ans = (Startlow + Starthigh)/2
elif input() == "h":
Starthigh = Ans
Ans = (Startlow + Starthigh)/2
else:
print("Sorry,I did not understand your input.")
任何帮助表示赞赏:)
解决方法
您应该在循环中要求一次输入,然后将该答案与所需项目进行比较。
您正在每个条件中都要求一个(可能不同)答案。
问的问题数量取决于您要满足的条件数量。
,只需:
x = input()
if x == "c":
#And so on...