如何解决我正在尝试编写 21 点代码以获得乐趣,但在在线赋值之前引用了此错误局部变量“first_hit”:32
我在 codesters/python 中编码,这是我的学校教我的,我试图在点击按钮中编码。我最初在没有 if 语句的情况下使用它,但我意识到我可能需要点击 2 次我尝试了这个,我收到错误消息“局部变量'first_hit'在行赋值之前引用:32” 如果 first_hit == True:
当我第一次点击点击按钮时会发生这种情况
first_hit = True
def click(hit_button):
if first_hit == True:
player3 = random.choice(cards)
player3disp = codesters.display(player3,50,-150)
player_total = player1 + player2 + player3
playertotaldisp.update(player_total)
first_hit = False
stage.wait(1)
elif first_hit == False:
player4 = random.choice(cards)
player4disp = codesters.display(player4,150,-150)
player_total = player1 + player2 + player3 + player4
playertotaldisp.update(player_total)
hit_button.event_click(click)
解决方法
通常一个变量是局部变量,这意味着一旦你进入一个新的作用域(在这种情况下你的函数)Python 不会“看到”这个变量。
为了使您的变量可从所有范围访问,您在第一次引用之前使用 global first_hit
。
因为当您使用全局变量时,您经常会开始遇到为变量寻找新名称的问题,所以将相互引用的东西放在一个类中通常是个好主意。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。