0

我是 python 的新手,所以我不知道如何让这段代码从头开始重复。这是我的代码:

import random

guessesTaken = 0

print('Hello! What is your name?')
myName = input()

number = random.randint(1, 20)
print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')

while guessesTaken < 5:
    print('Take a guess.') 
    guess = input()
    guess = int(guess)

    guessesTaken = guessesTaken + 1

    if guess < number:
        print('Your guess is too low.') 

    if guess > number:
        print('Your guess is too high.')

    if guess == number:
        break

if guess == number:
    guessesTaken = str(guessesTaken)
    print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + '        guesses!')

if guess != number:
    number = str(number)
    print('Nope. The number I was thinking of was ' + number)

谢谢各位,请尽快回复

4

3 回答 3

1

将您当前的代码放入一个函数中,然后根据需要多次调用它。例如:

import random

def main():
    n_games = 5
    for n in range(n_games):
        play_guessing_game()

def play_guessing_game():
    # Your code here.
    print("Blah blah")

main()

更好的是接受n_games作为命令行参数 ( sys.argv[1])。比这更好的是停止编写交互式猜谜游戏(咆哮:人们为什么要教这些东西?),而是学习如何编写一个执行二进制搜索的函数。

于 2013-06-18T02:26:06.283 回答
1

这一定是您一直在寻找的代码

import random

inplay = 0
x = ""
def in_play():
    global inplay, guessesTaken
    guessesTaken = 0
    if inplay == True:
        play()
    else:
        inplay = True
        play()

def play():
    global guessesTaken
    while inplay == True:
        print('Hello! What is your name?')
        myName = input()

    number = random.randint(1, 20)
    print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')

    while guessesTaken < 5:
        print('Take a guess.') 
        guess = input()
        guess = int(guess)
        guessesTaken = guessesTaken + 1

        if guess < number:
            print('Your guess is too low.') 

        elif guess > number:
            print('Your guess is too high.')

        elif guess == number:
            break

    if guess == number:
        guessesTaken = str(guessesTaken)
        print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
        in_play()

    elif guess != number:
        number = str(number)
        print('Nope. The number I was thinking of was ' + number)
        in_play()


in_play()

现在这是基本的东西,但对于新手来说,我们完全知道它的感觉

只是不要复制粘贴它,而是尝试理解代码的作用以及它为什么这样做

于 2013-06-18T12:29:35.123 回答
1

将您的代码放在一个函数中,然后创建另一个函数,询问用户是否想再次玩。

def main():
    game = "your game"
    print(game)
    play_again()

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()
于 2013-06-18T13:32:58.523 回答