为什么这不起作用?我需要分配全局变量吗?它说player1
未定义!
options=["p", "s", "r"]
def valid1():
validationa = True
while validationa==True:
player1=input("player 1.. Take your go")
if player1 not in options:
print ("invalid")
else:
validationa==False
return player1
def valid2():
validationb = True
while validationb==True:
player2=input("player 2.. Take your go")
if player2 not in options:
print ("invalid")
else:
validationb==False
return player2
valid1()
valid2()
if player1=="p" and player2 =="p":
print("Draw")
else:
print("works but unfinished")
答案 0 :(得分:4)
您的函数返回值,但您从不将它们分配给任何内容。
player1 = valid1()
player2 = valid2()
事实上,这些函数几乎完全相同,如果你使文本动态或更通用,你可以只有一个函数,只需调用它两次
player1 = valid()
player2 = valid()
答案 1 :(得分:1)
你返回了player1和player2,但你没有指定它。
for (var i = 0; i < triggerButtons.length; i++) {
triggerButtons[i].addEventListener( 'click', toggleOverlay );
}
你的功能几乎相同......
options=["p", "s", "r"]
def valid1():
validationa = True
while validationa==True:
player1=input("player 1.. Take your go")
if player1 not in options:
print ("invalid")
else:
validationa==False
return player1
def valid2():
validationb = True
while validationb==True:
player2=input("player 2.. Take your go")
if player2 not in options:
print ("invalid")
else:
validationb==False
return player2
player1=valid1()
player2=valid2()
if player1=="p" and player2 =="p":
print("Draw")
else:
print("works but unfinished")