【问题标题】:Python will not accept a variable I enteredPython 不接受我输入的变量
【发布时间】:2020-05-23 21:51:43
【问题描述】:

我在python中输入了一个变量,但它不会被接受。 我不确定为什么会这样。我试图更改变量的名称,更改其名称的大小写,并更改函数的输入键。 我的代码是:

import turtle   
startup = 1   
screen = turtle.Screen()      
screen.bgcolor("black")  
screen.bgpic("Assets/Title.png")   
screen.title("Game")  
def startgame():  
    if startup == 1:  
        screen.bgpic("Assets/Title_Two.png")  
    startup = 2  
turtle.listen()  
turtle.onkey(startgame, "Left")  

我得到的唯一错误信息是:

>>> Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files (x86)\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "C:\Program Files (x86)\Python37-32\lib\turtle.py", line 686, in eventfun
    fun()
  File "C:\Users\Adam\OneDrive\Programming Stuff\Game\Game.py", line 9, in startgame
    if startup == 1:
UnboundLocalError: local variable 'startup' referenced before assignment

【问题讨论】:

  • 我认为您的问题由于其模糊性而被否决(两次)。请记住,我们对您的情况一无所知。请提供示例以便我们提供帮助。
  • 我刚刚运行了您修改后的代码,无法生成您发布的错误。你所说的“它不会被接受”到底是什么意思?在不知道更多细节的情况下,我想知道您的问题是否只是您试图在函数内部为 startup 设置一个值,而该函数在函数外部不可用。 This answer 可能会有所帮助,如果是这样的话。

标签: python python-turtle


【解决方案1】:

把启动变成一个全局变量:

import turtle   
startup = 1   
screen = turtle.Screen()      
screen.bgcolor("black")  
screen.bgpic("Assets/Title.png")   
screen.title("Game")  
def startgame():
    global startup
    if startup == 1:  
        screen.bgpic("Assets/Title_Two.png")  
    startup = 2  
turtle.listen()  
turtle.onkey(startgame, "Left")  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 2013-08-27
    • 2020-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    相关资源
    最近更新 更多