我正在尝试编写一个 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 ()
尝试了“全局”修复、重新排列代码和缩进以及各种调整。