簡體   English   中英

Python Guess游戲如何重復

[英]Python Guess game how to repeat

我一直在研究這個猜謎游戲,但是當玩家說是的時候,我無法讓它重復游戲。 游戲給您5次嘗試來猜測它想到的數字,然后詢問您是否要再次玩,但是當您說“是”時,它會不斷重復句子,而當您說“否”時,它會做什么它應該破壞代碼

def main():
    game = "your game"
    print(game)
    play_again()
import random #imports random number function
print("Welcome to the number guessing game!")
counter=1 #This means that the score is set to 0
number = int(random.randint(1,10))
while counter >0 and counter <=5:

    guess=int(input("Try and guess the number\n"))#tells the user to try and guess the number
    if guess!=number and guess>number:
        print("wrong number! Try again you are too high")#tells you that you were wrong and that that you were too high
        counter=counter+1#adds 1 count for every attempt it took you to guess the number

    elif guess!=number and guess<number:
        print("wrong number! Try again you are too low!")#tells you that you were wrong and tells you that you were too low
        counter=counter+1#adds 1 count for every attempt it took you to guess the number
    else:
        print("Well done! You have guessed the number i was thinking of! The number was ",number)#Prints this out when you guessed the number
        print("it took you ",counter, "attempts!")#tells you how many attempts it took you to guess the number

    if counter==2:
        print("4 attempts left before program ends")

    if counter==3:
        print("3 attempts left before program ends")

    if counter==4:
        print("2 attempts left before program ends")

    if counter==5:
        print("1 attempts left before program ends")

def play_again():
    while True:
        play_again = input("Would you like to play again?(yes or no) : ")
        if play_again == "yes":
            main()
        if play_again == "no":
            exit()
        else:
            print("I'm sorry I could not recognize what you entered")
main()

這是因為您的游戲代碼不在功能中。 以這種方式嘗試:

<import statements>

def game():
    <insert all game code>

def main():
    while True:
        play_again = input("Would you like to play again?(yes or no) : ")
        if play_again == "yes":
            game()
        if play_again == "no":
            exit()
        else:
            print("I'm sorry I could not recognize what you entered")

我想指出您的代碼有一些問題。 主要的原因是,鍵入“是”時,您的游戲不會再次運行。 它所要做的就是運行main() ,它將打印your game ,然后詢問您是否要重試。 如果將游戲放入定義中會更容易,以便可以在需要時調用它。

另外,我不知道是否只有我一個人,但是如果您猜對了數字,它仍然會要求您猜測一個數字。 您需要通過將play_again()方法放在else塊中退出循環。

下面是代碼。 我已經對其進行了優化,僅用於優化。

import random #imports random number function

def main():
    print("Welcome to the number guessing game!")
    game = "your game"
    print(game)
    run_game()
    play_again()

def run_game():
  counter = 1
  number = random.randint(1, 10)
  while counter > 0 and counter <= 5:
    guess=int(input("Try and guess the number\n"))#tells the user to try and guess the number
    if guess!=number and guess > number:
        print("wrong number! Try again you are too high")#tells you that you were wrong and that that you were too high
        counter=counter+1#adds 1 count for every attempt it took you to guess the number

    elif guess != number and guess < number:
        print("wrong number! Try again you are too low!")#tells you that you were wrong and tells you that you were too low
        counter=counter+1#adds 1 count for every attempt it took you to guess the number
    else:
        print("Well done! You have guessed the number i was thinking of! The number was " + str(number))#Prints this out when you guessed the number
        print("it took you " + str(counter) + " attempts!")#tells you how many attempts it took you to guess the number
        play_again()

    if counter == 2:
        print("4 attempts left before program ends")

    if counter == 3:
        print("3 attempts left before program ends")

    if counter == 4:
        print("2 attempts left before program ends")

    if counter == 5:
        print("1 attempts left before program ends")

def play_again():
    while True:
        retry = input("Would you like to play again?(yes or no) : ")
        if retry == "yes":
            main()
        if retry == "no":
            exit()
        else:
            print("I'm sorry I could not recognize what you entered")
main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM