无法弄清楚如何摆脱未绑定的本地错误; “全球”不工作

问题描述 投票:0回答:0

我正在尝试编写一个 die-rolling 程序,但我不断收到 Unbound 错误。我尝试将 'global 放在 endGame 前面,但它似乎并没有解决我的问题,也没有以多种不同的方式重新安排我的伪代码。关于如何修复我的语法以避免出现此错误,是否有任何建议?谢谢!

'global' 现在说我的 endGame 变量未定义。

# Serra Jefferys
# 04/17/2023
# Python 07: Dice Roll
# Program simulated rolling dice using RANDOM fnctn. 2 Players enter name; Highest value wins; Rolls unlimited; use value-returning functions.

import random
min = 1
max = 6

def main():
    
    # Enter Player 1 and 2 names
    player_1 = input("Enter Player 1 name: ")
    print("Player 1: " + player_1)
    player_2 = input("Enter Player 2 name: ")
    print("Player 2: " + player_2)

    global endGame
    while endGame == "N" or endGame == "n":
        # roll Player 1
        p1Roll = random.randint(1, 6)
        print(f"{player_1}'s roll is {p1Roll}")
        # roll Player 2
        p2Roll = random.randint(1, 6)
        print(f"{player_2}'s roll is {p2Roll}")
    
        # Declare Winner
        if p1Roll == p2Roll:
           print ("This game is a tie!")
        elif p1Roll > p2Roll:
            print ("The winner is" + player_1 + "!")
        else:
            p1Roll < p2Roll
            print ("The winner is " + player_2 +"!")
        
    endGame = input ("Do you want to end the game? Y/N (N = no):")
main ()

尝试了“全局”修复、重新排列代码和缩进以及各种调整。

undefined global unbound
© www.soinside.com 2019 - 2024. All rights reserved.