在使用for循环进行猜数字小游戏时遇到了一些问题,见代码:
print("这是一个猜数字小游戏捏")
for round in range(0,3):
num =int(input("请输入您猜的数字:"))
if num == 55:
print("您猜对了")
break
pass
elif num < 55:
print("您猜的有点小")
pass
else:
print("您猜的有点大")
pass
else:
if round == 2:
choice = input("您的机会已用完,请选择是否继续游戏:(Y/N)")
if choice == 'Y' or choice == 'y':
print("您选择重开,游戏继续。")
round = 0
pass
elif choice == 'N' or choice =='n':
print("您选择退出,游戏结束。")
round = 3
pass
pass
pass
按如上代码运行时,猜对数字和选择结束游戏是可以正常运行的,而选择继续后并未继续游戏,无法继续输入。结果如下:
这是一个猜数字小游戏捏
请输入您猜的数字:79
您猜的有点大
请输入您猜的数字:88
您猜的有点大
请输入您猜的数字:97
您猜的有点大
您的机会已用完,请选择是否继续游戏:(Y/N)y
您选择重开,游戏继续。
Process finished with exit code 0
此时并不能继续游戏,不知道是哪一步出了问题..
rand = 55
flag = False
while True:
for i in range(0, 3):
num = int(input("请输入您猜的数字:"))
if num < rand:
print('低了')
elif num > rand:
print('高了')
else:
print('恭喜你猜对了')
flag = True
break
if not flag:
strs = input("您的3次机会用完了,请选择是否继续游戏:(Y/N)")
if strs.lower() == "y":
continue
elif strs.lower() == "n":
break
else:
print("输入有误,默认退出游戏")
break
else:
break
你的代码那个round是for循环里的变量不能在外部调用的,如果觉得答案还可以的话记得采纳哟
for round in range(0,3):
for指的是循环遍历,只要range(0,3)右闭合,始终会结束
round =0,1,2,只这样遍历三次,就不会继续循环了。
想要无线循环用while