Python 如何通过简单的是或否回答来重复或结束函数?

Python 如何通过简单的是或否回答来重复或结束函数?,python,Python,我想创建一个猜测游戏来获得更舒适的编程,用户最多有100次猜测(是的,已经足够了)。如果数字太高或太低,它会让他们输入一个新的输入,如果正确,它会正确打印。现在我只想把它设置到我问他们是否愿意再次播放的位置。我想我有一个想法,通过将它们分成两个功能来设置它? 我知道它目前不是一个函数,但应该把它作为一个函数,然后把我的问题作为一个if语句放在它自己的函数中 import random randNum = random.randrange(1,21) numguesses = 0 while

我想创建一个猜测游戏来获得更舒适的编程,用户最多有100次猜测(是的,已经足够了)。如果数字太高或太低,它会让他们输入一个新的输入,如果正确,它会正确打印。现在我只想把它设置到我问他们是否愿意再次播放的位置。我想我有一个想法,通过将它们分成两个功能来设置它? 我知道它目前不是一个函数,但应该把它作为一个函数,然后把我的问题作为一个if语句放在它自己的函数中

import random


randNum = random.randrange(1,21)
numguesses = 0

while numguesses < 100:
        numguesses = numguesses + 1
        userguess = int(input("What is your guess [1 through 20]?"))
        if userguess < 1:
            print("Too Low")
            print("Please enter a valid guess [1-20]!")  
        elif userguess > 20:
                print("Too High")
        elif userguess == randNum:
            print("Correct")
            print("you used",numguesses,"number of guesses")
随机导入
randNum=random.randrange(1,21)
数值=0
当NUMGUESS<100时:
numguesses=numguesses+1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguess<1:
打印(“太低”)
打印(“请输入有效猜测[1-20]!”)
elif userguess>20:
打印(“太高”)
elif userguess==randNum:
打印(“正确”)
打印(“您使用的”,numguesses,“猜测次数”)

这里有一个简单的方法可以按照您的要求执行。我创建了一个函数,当您得到正确的结果时,它会询问您是否要再次播放,如果您输入“是”,则会重置变量并再次运行循环。如果您输入除“是”之外的任何内容,则它将中断结束程序的循环

import random

def main():
    randNum = random.randrange(1,21)
    numguesses = 0

    while numguesses < 100:
            numguesses = numguesses + 1
            userguess = int(input("What is your guess [1 through 20]?"))
            if userguess < 1:
                print("Too Low")
                print("Please enter a valid guess [1-20]!")
            elif userguess > 20:
                    print("Too High")
            elif userguess == randNum:
                print("Correct")
                print("you used",numguesses,"number of guesses")
                x = input("would you like to play again?")
                if x == "yes":
                    main()
                else:
                    break

main()
随机导入
def main():
randNum=random.randrange(1,21)
数值=0
当NUMGUESS<100时:
numguesses=numguesses+1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguess<1:
打印(“太低”)
打印(“请输入有效猜测[1-20]!”)
elif userguess>20:
打印(“太高”)
elif userguess==randNum:
打印(“正确”)
打印(“您使用的”,numguesses,“猜测次数”)
x=输入(“您想再次播放吗?”)
如果x==“是”:
main()
其他:
打破
main()

这里有一个简单的方法可以按照您的要求执行。我创建了一个函数,当您得到正确的结果时,它会询问您是否要再次播放,如果您输入“是”,则会重置变量并再次运行循环。如果您输入除“是”之外的任何内容,则它将中断结束程序的循环

import random

def main():
    randNum = random.randrange(1,21)
    numguesses = 0

    while numguesses < 100:
            numguesses = numguesses + 1
            userguess = int(input("What is your guess [1 through 20]?"))
            if userguess < 1:
                print("Too Low")
                print("Please enter a valid guess [1-20]!")
            elif userguess > 20:
                    print("Too High")
            elif userguess == randNum:
                print("Correct")
                print("you used",numguesses,"number of guesses")
                x = input("would you like to play again?")
                if x == "yes":
                    main()
                else:
                    break

main()
随机导入
def main():
randNum=random.randrange(1,21)
数值=0
当NUMGUESS<100时:
numguesses=numguesses+1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguess<1:
打印(“太低”)
打印(“请输入有效猜测[1-20]!”)
elif userguess>20:
打印(“太高”)
elif userguess==randNum:
打印(“正确”)
打印(“您使用的”,numguesses,“猜测次数”)
x=输入(“您想再次播放吗?”)
如果x==“是”:
main()
其他:
打破
main()

这里是另一种方法

import random

randNum = random.randrange(1,21)
numguesses = 0
maxGuess = 100

print("Guessing number Game - max attempts: " + str(maxGuess))
while True:
    numguesses +=1
    userguess = int(input("What is your guess [1 through 20]? "))
    if userguess < randNum:
        print("Too Low")
    elif userguess > randNum:
        print("Too High")
    else:
        print("Correct. You used ",numguesses," number of guesses")
        break    
    if maxGuess==numguesses:
        print("Maximum attempts reached. Correct answer: " + str(randNum))
        break
随机导入
randNum=random.randrange(1,21)
数值=0
maxGuess=100
打印(“猜数字游戏-最大尝试次数:”+str(maxGuess))
尽管如此:
数值+=1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguessrandNum:
打印(“太高”)
其他:
打印(“正确。您使用了”,numguesses,“猜测次数”)
打破
如果maxGuess==numguesss:
打印(“已达到最大尝试次数。正确答案:“+str(randNum))
打破

这里是另一种方法

import random

randNum = random.randrange(1,21)
numguesses = 0
maxGuess = 100

print("Guessing number Game - max attempts: " + str(maxGuess))
while True:
    numguesses +=1
    userguess = int(input("What is your guess [1 through 20]? "))
    if userguess < randNum:
        print("Too Low")
    elif userguess > randNum:
        print("Too High")
    else:
        print("Correct. You used ",numguesses," number of guesses")
        break    
    if maxGuess==numguesses:
        print("Maximum attempts reached. Correct answer: " + str(randNum))
        break
随机导入
randNum=random.randrange(1,21)
数值=0
maxGuess=100
打印(“猜数字游戏-最大尝试次数:”+str(maxGuess))
尽管如此:
数值+=1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguessrandNum:
打印(“太高”)
其他:
打印(“正确。您使用了”,numguesses,“猜测次数”)
打破
如果maxGuess==numguesss:
打印(“已达到最大尝试次数。正确答案:“+str(randNum))
打破

另一种方法是使用两个while循环

answer = 'yes'
while answer == 'yes':
    while numguesses < 100:
        numguesses = numguesses + 1
        userguess = int(input("What is your guess [1 through 20]?"))
        if userguess < 1:
            print("Too Low")
            print("Please enter a valid guess [1-20]!")
        elif userguess > 20:
            print("Too High")
        elif userguess == randNum:
            print("Correct")
            print("you used",numguesses,"number of guesses")
            break  #Stop while loop if user guest, hop to the first loop with answer var
    answer = raw_input("Would you like to continue? yes or no\n>")
answer='yes'
而答案==“是”:
当NUMGUESS<100时:
numguesses=numguesses+1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguess<1:
打印(“太低”)
打印(“请输入有效猜测[1-20]!”)
elif userguess>20:
打印(“太高”)
elif userguess==randNum:
打印(“正确”)
打印(“您使用的”,numguesses,“猜测次数”)
中断#在循环时停止如果用户是来宾,则使用应答变量跳到第一个循环
回答=原始输入(“您想继续吗?是还是否\n>”)

另一种方法是使用两个while循环

answer = 'yes'
while answer == 'yes':
    while numguesses < 100:
        numguesses = numguesses + 1
        userguess = int(input("What is your guess [1 through 20]?"))
        if userguess < 1:
            print("Too Low")
            print("Please enter a valid guess [1-20]!")
        elif userguess > 20:
            print("Too High")
        elif userguess == randNum:
            print("Correct")
            print("you used",numguesses,"number of guesses")
            break  #Stop while loop if user guest, hop to the first loop with answer var
    answer = raw_input("Would you like to continue? yes or no\n>")
answer='yes'
而答案==“是”:
当NUMGUESS<100时:
numguesses=numguesses+1
userguess=int(输入(“您的猜测是什么[1到20]?”)
如果userguess<1:
打印(“太低”)
打印(“请输入有效猜测[1-20]!”)
elif userguess>20:
打印(“太高”)
elif userguess==randNum:
打印(“正确”)
打印(“您使用的”,numguesses,“猜测次数”)
中断#在循环时停止如果用户是来宾,则使用应答变量跳到第一个循环
回答=原始输入(“您想继续吗?是还是否\n>”)
随机导入
randNum=random.randrange(1,21)
猜测=0
响应=[“过低”、“猜测无效”、“过高”、“正确”]
def响应(猜测):
如果用户得到正确答案,do_break=None将被分配为True
如果猜测<随机数:
脉波重复间隔