我正在学习编程,这是我写的第一个python代码。 这是一个猜测游戏,如果用户键入数字5将打印“你赢了”,如果它大于5打印“太高”,如果小于5打印“太低”。
我为此编写了代码但是当用户输入数字5时, 它打印“太低”并打印“你赢了”这不是我想要的,当输入数字5,它应该输出消息“你赢了”。 我需要解释为什么代码输出说“太低”并说“你赢了” 用户输入5号??
print("Welcome")
guess = 0
while guess != 5:
g = input("Guess a number: ")
guess = int(g)
if guess > 5:
print("too high")
else:
print("too low")
print("You won")
结果是:
Guess a number: 4
too low
Guess a number: 6
too high
Guess a number: 5
**too low // this isn't supposed to be, this is wrong
You won**
答案 0 :(得分:4)
您的else
需要测试该值不是5
。
else:
应该是
elif guess < 5:
因为5
不大于5
。
答案 1 :(得分:2)
问题是你的猜测= 5。
第一个if是否定的,所以它继续移动到else并打印&#34;太低&#34;。
更改
else:
print("too low")
太
elif guess < 5:
print("too low")
这不会再发生了。 初学者的一个好方法是分析边界情况,在这种情况下猜测= 5并分析你的程序将在那里做什么。