将新名称/项添加到列表并全局调用该变量?

时间:2018-04-23 16:40:02

标签: numbers append extends custom-lists

我对编码很陌生,决定从Python开始。我一直在研究一个简单的数字猜测游戏"并且每次迭代都进化了一些。

我决定让它变得更加强大,只是在数字被猜到之后结束。

我希望用户/玩家输入他们的名字,存储该名称,然后在整个过程中使用......直到结束,他们被问及是否想要再次玩游戏以及是否需要再次玩游戏同一个用户?"如果他们说," No。",我希望它在列表中添加一个新名称,然后再次浏览游戏。

这是我到目前为止所做的...请保持温和......我知道有一些错误:(

        import sys
        import os
        import random
        global player


        while True:
            def GuessingGame():
        player = []
        player.append(input("Please Enter Your Name:\n")),
        # player_name = input("Please enter your name: \n")
        print(f"Hello, {player[0]}! Let's get started!\n")
        number = 500
        count = 1
        guess = int(input("Guess a number between 1 and 1000: \n"))

        while guess != number:
            count += 1
            if guess > (number + 10):
            print("TOO HIGH, a little lower...")
            elif guess < (number - 10):
                print("TOO LOW... guess higher!")
            elif guess > (number + 5):
                print("You're getting warmer, but still TOO HIGH, a little lower...")
            elif guess < (number - 5):
                print("You're getting warmer, but still TOO LOW...  higher!")
            elif guess < number:
                print("You're REALLY warm, but still a bit TOO LOW")
            elif guess > number:
                print("You're REALLY, but still a bit TOO HIGH")
            guess = int(input("Try again...\n"))
        if guess == number:
            print(f"You got it!!! It took you {count} tries to guess {number}\n")
            response1 = str(input("Would you like to try again? Y or N\n"))
            if response1 == ("y" or "Y"):
                 sameplayer = str(input("Is this still {player[0]}? Y1 or N1\n"))
                 if sameplayer == ("y1" or "Y1"):
                    GuessingGame()
                 else:
                    newplayer = player.extend(str(input("Please Enter New Player's Name:\n")))
                    print(f"Hello, {player[1]}!, Let's Get Started!")

        return
        GuessingGame()

Again, this is the first time I'm sharing anything I've done... so please don't just wreck me :)

1 个答案:

答案 0 :(得分:0)

在这里,我复制了您编写的相同代码,但我需要进行一些修改。

from random import randint

player = None

def GuessingGame():
    global player
    if player is None:
        player = input("Please Enter Your Name:\n")
    print(f"Hello, {player}! Let's get started!\n")
    number = randint(1, 1000)
    guess = int(input("Guess a number between 1 and 1000: \n"))
    count = 1
    while guess != number:
        if guess > (number + 10):
            print("TOO HIGH, a little lower...")
        elif guess < (number - 10):
            print("TOO LOW... guess higher!")
        elif guess > (number + 5):
            print("You're getting warmer, but still TOO HIGH, a little lower...")
        elif guess < (number - 5):
            print("You're getting warmer, but still TOO LOW...  higher!")
        elif guess < number:
            print("You're REALLY warm, but still a bit TOO LOW")
        elif guess > number:
            print("You're REALLY, but still a bit TOO HIGH")
        if guess == number:
            break
        else:
            count += 1
            guess = int(input("Try again...\n"))

    print(f"You got it!!! It took you {count} tries to guess {number}\n")
    response1 = str(input("Would you like to try again? Y or N\n"))
    if response1.lower() == 'y':
        sameplayer = str(input(f"Is this still {player}? Y or N\n"))
        if sameplayer.lower() == 'n':
            player = None
            return
        else:
            return

while True:
    GuessingGame()

如果您有任何问题,请告诉我。