Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 询问用户是否想再次播放,但键入“是”只会再次重复此问题,而不是重新开始_Python_Loops_If Statement - Fatal编程技术网

Python 询问用户是否想再次播放,但键入“是”只会再次重复此问题,而不是重新开始

Python 询问用户是否想再次播放,但键入“是”只会再次重复此问题,而不是重新开始,python,loops,if-statement,Python,Loops,If Statement,这是一个猜数字的游戏 解释 首先,它要求用户输入一个介于1到50之间的数字 如果数字正确,则您获胜,否则您必须再试一次(中奖数字是随机的,当然了)您的猜测也有限 代码下面提到了问题 这是我的代码:) 随机导入 获胜人数=23 猜测=1 猜测左=9 游戏结束=错误 结束游戏=错误 数字输入=假 虽然没有结束游戏: 如果不是数字,请输入: 尝试: ask=int(输入(“输入一个介于1和50之间的数字:”) 打印(f“总猜测={猜测左}”) 打破 除值错误外: 打印(“无效输入!!”) 持续 虽然游

这是一个猜数字的游戏

解释

首先,它要求用户输入一个介于1到50之间的数字 如果数字正确,则您获胜,否则您必须再试一次(中奖数字是随机的,当然了)您的猜测也有限

代码下面提到了问题 这是我的代码:)

随机导入
获胜人数=23
猜测=1
猜测左=9
游戏结束=错误
结束游戏=错误
数字输入=假
虽然没有结束游戏:
如果不是数字,请输入:
尝试:
ask=int(输入(“输入一个介于1和50之间的数字:”)
打印(f“总猜测={猜测左}”)
打破
除值错误外:
打印(“无效输入!!”)
持续
虽然游戏尚未结束:
如果ask==获胜人数:
打印(f“您通过在{guesses}时间内猜到数字而获胜!!”)
打印(“您想再次播放吗?”)
尽管如此:
ask1=输入(“仅输入‘是’或‘否’:)
ask1=ask1.lower()
如果ask1==‘是’:
打印(“您选择再次播放”)
游戏结束=错误
打破
elif ask1==“否”:
打印(“感谢您玩这个游戏”)
游戏结束=正确
结束游戏=正确
打破
其他:
打印(“请仅填写“是”或“否”)
持续
elif ask>winning_num:
打印(“太高!!”)
猜测+=1
猜左-=1
尽管如此:
尝试:
ask=int(输入(“重试:”)
打印(f“猜测左={猜测左}”)
打破
除值错误外:
打印(“无效输入!!”)
持续
如果猜测_left==1:
打印(“只剩下一个猜测!!”)
持续
elif猜测_left==0:
打印(“你输了!!”)
打破

elif ask如果ask1=yes,您必须将game_over=False设置为,这样它就可以在循环时从父循环中出来并继续。此外,您还必须重置猜测次数等,以便它作为一个新游戏开始。

如果ask1=yes,您必须将game_over=False设置为,以便它可以在循环时从父循环中出来并继续。此外,您还必须重置猜测次数等,以便它作为新游戏开始。

导入随机
import random
winning_num = 23
guesses = 1
guesses_left = 9
game_over = False
end_game = False
number_enter = False
while not end_game:    
    while not number_enter:
        try:
            ask = int(input("ENTER A NUMBER BETWEEN 1 AND 50: "))
            print(f"TOTAL GUESSES = {guesses_left}")
            break
        except ValueError:
            print("INVALID INPUT!!")
            continue
    while not game_over: 
        if ask==winning_num:
            print(f"YOU WON BY GUESSING THE NUMBER IN {guesses} TIME(S)!!")
            print("DO YOU WANT TO PLAY AGAIN?")
            while True:
                ask1 = input("ENTER 'YES' OR 'NO' ONLY: ")
                ask1 = ask1.lower()
                if ask1=='yes':
                    print("YOU CHOSE TO PLAY AGAIN")
                    game_over = True
                    break
                elif ask1=="no":
                    print("THANK YOU FOR PLAYING THIS GAME")
                    game_over = True
                    end_game = True
                    break
                else:
                    print("PLEASE WRITE 'YES' OR 'NO' ONLY ")
                    continue
        

        elif ask>winning_num:
            print("TOO HIGH!!")
            guesses+=1
            guesses_left-=1
            while True:
                try:
                    ask = int(input("TRY AGAIN: "))
                    print(f"GUESSES LEFT = {guesses_left}")
                    break
                except ValueError:
                    print("INVALID INPUT!!")
                    continue
            if guesses_left==1:
                print("ONLY ONE GUESS LEFT!!")
                continue
            elif guesses_left==0:
                print("YOU LOSE!!")
                break
        elif ask<winning_num:
             print("TOO LOW!!")
             guesses+=1
             guesses_left-=1
             while True:
                 try:
                     ask = int(input("TRY AGAIN: "))
                     print(f"GUESSES LEFT = {guesses_left}")
                     break
                 except ValueError:
                     print("INVALID INPUT!!")
                     continue
             if guesses_left==1:
                 print("ONLY ONE GUESS LEFT!!")
                 continue
             elif guesses_left==0:
                 print("YOU LOSE!!")
                 break
获胜人数=23 猜测=1 猜测左=9 游戏结束=错误 结束游戏=错误 数字输入=假 虽然没有结束游戏: 如果不是数字,请输入: 尝试: ask=int(输入(“输入一个介于1和50之间的数字:”) 打印(f“总猜测={猜测左}”) 打破 除值错误外: 打印(“无效输入!!”) 持续 虽然游戏尚未结束: 如果ask==获胜人数: 打印(f“您通过在{guesses}时间内猜到数字而获胜!!”) 打印(“您想再次播放吗?”) 尽管如此: ask1=输入(“仅输入‘是’或‘否’:) ask1=ask1.lower() 如果ask1==‘是’: 打印(“您选择再次播放”) 游戏结束=正确 打破 elif ask1==“否”: 打印(“感谢您玩这个游戏”) 游戏结束=正确 结束游戏=正确 打破 其他: 打印(“请仅填写“是”或“否”) 持续 elif ask>winning_num: 打印(“太高!!”) 猜测+=1 猜左-=1 尽管如此: 尝试: ask=int(输入(“重试:”) 打印(f“猜测左={猜测左}”) 打破 除值错误外: 打印(“无效输入!!”) 持续 如果猜测_left==1: 打印(“只剩下一个猜测!!”) 持续 elif猜测_left==0: 打印(“你输了!!”) 打破 elif ask
import random
获胜人数=23
猜测=1
猜测左=9
游戏结束=错误
结束游戏=错误
数字输入=假
虽然没有结束游戏:
如果不是数字,请输入:
尝试:
ask=int(输入(“输入一个介于1和50之间的数字:”)
打印(f“总猜测={猜测左}”)
打破
除值错误外:
打印(“无效输入!!”)
持续
虽然游戏尚未结束:
如果ask==获胜人数:
打印(f“您通过在{guesses}时间内猜到数字而获胜!!”)
打印(“您想再次播放吗?”)
尽管如此:
ask1=输入(“仅输入‘是’或‘否’:)
ask1=ask1.lower()
如果ask1==‘是’:
打印(“您选择再次播放”)
游戏结束=正确
打破
elif ask1==“否”:
打印(“感谢您玩这个游戏”)
游戏结束=正确
结束游戏=正确
打破
其他:
打印(“请仅填写“是”或“否”)
持续
elif ask>winning_num:
打印(“太高!!”)
猜测+=1
猜左-=1
尽管如此:
尝试:
ask=int(输入(“重试:”)
打印(f“猜测左={猜测左}”)
打破
除值错误外:
import random
winning_num = 23
guesses = 1
guesses_left = 9
game_over = False
end_game = False
number_enter = False
while not end_game:    
    while not number_enter:
        try:
            ask = int(input("ENTER A NUMBER BETWEEN 1 AND 50: "))
            print(f"TOTAL GUESSES = {guesses_left}")
            break
        except ValueError:
            print("INVALID INPUT!!")
            continue
    while not game_over: 
        if ask==winning_num:
            print(f"YOU WON BY GUESSING THE NUMBER IN {guesses} TIME(S)!!")
            print("DO YOU WANT TO PLAY AGAIN?")
            while True:
                ask1 = input("ENTER 'YES' OR 'NO' ONLY: ")
                ask1 = ask1.lower()
                if ask1=='yes':
                    print("YOU CHOSE TO PLAY AGAIN")
                    game_over = True
                    break
                elif ask1=="no":
                    print("THANK YOU FOR PLAYING THIS GAME")
                    game_over = True
                    end_game = True
                    break
                else:
                    print("PLEASE WRITE 'YES' OR 'NO' ONLY ")
                    continue
        

        elif ask>winning_num:
            print("TOO HIGH!!")
            guesses+=1
            guesses_left-=1
            while True:
                try:
                    ask = int(input("TRY AGAIN: "))
                    print(f"GUESSES LEFT = {guesses_left}")
                    break
                except ValueError:
                    print("INVALID INPUT!!")
                    continue
            if guesses_left==1:
                print("ONLY ONE GUESS LEFT!!")
                continue
            elif guesses_left==0:
                print("YOU LOSE!!")
                break
        elif ask<winning_num:
             print("TOO LOW!!")
             guesses+=1
             guesses_left-=1
             while True:
                 try:
                     ask = int(input("TRY AGAIN: "))
                     print(f"GUESSES LEFT = {guesses_left}")
                     break
                 except ValueError:
                     print("INVALID INPUT!!")
                     continue
             if guesses_left==1:
                 print("ONLY ONE GUESS LEFT!!")
                 continue
             elif guesses_left==0:
                 print("YOU LOSE!!")
                 break