python的循环与if嵌套的问题
本帖最后由 Little_Bird 于 2021-3-18 19:09 编辑import random
secret = random.randint(1,10)
print("==============来玩猜数字游戏吧==============");
print("[测试]数字是:",secret);
temp = input("[游戏开始]猜一猜数字:")
guess = int(temp)
#第一次先判断,若猜不中,则输出是否过大或过小
if guess == secret:
print("猜中了!");
else:
if guess > secret:
print("数字过大") ;
else:
print("数字过小");
#[循环]若猜不中,则开始不断猜数字,并给提示,直到猜中为止
while(guess != secret):
temp = input("错了,再来一次吧:")
gusee = int(temp)
if guess == secret:#输入数字并不会判断,也并不会给正确的提示
print("猜中了!");
else:
if guess > secret:
print("数字过大") ;
else:
print("数字过小");
print("游戏结束!");
代码如上,运行结果:
[测试]数字是: 3
[游戏开始]猜一猜数字:4
数字过大
错了,再来一次吧:2
数字过大
错了,再来一次吧:3
数字过大
-------------------------------
[测试]数字是: 4
[游戏开始]猜一猜数字:3
数字过小
错了,再来一次吧:5
数字过小
思路是:猜数字,若猜错,给提示,并继续猜,一直到猜对为止.
而运行起来,猜错后,提示(过大/过小),继续猜,但提示会卡在上一次提示(过大/过小),甚至第二次输入正确数字都不会显示正确
个人改啦好多次,还是这样,麻烦各位鱼友指点迷津,谢谢. 本帖最后由 小伤口 于 2021-3-18 19:34 编辑
20行的gusee改为guess
你写错了所以guess的结果一直是第一次的 python为什么语句后面要加;号 写python谁让你写分号的{:10_269:} import random
secret = random.randint(1,10)
print("==============来玩猜数字游戏吧==============")
print("[测试]数字是:",secret);
temp = input("[游戏开始]猜一猜数字:")
guess = int(temp)
#第一次先判断,若猜不中,则输出是否过大或过小
if guess == secret:
print("猜中了!")
else:
if guess > secret:
print("数字过大")
else:
print("数字过小")
#[循环]若猜不中,则开始不断猜数字,并给提示,直到猜中为止
while(guess != secret):
temp = input("错了,再来一次吧:")
guess = int(temp)
if guess == secret:#输入数字并不会判断,也并不会给正确的提示
print("猜中了!")
else:
if guess > secret:
print("数字过大")
else:
print("数字过小")
print("游戏结束!")
页:
[1]