如下代码所示,报错为前面:赋值前引用了局部变量'username'

求大神帮助,小弟目前是自学状态。

第一次遇到这种报错。

源代码:

import json

def get_stored_username():
    filename = 'username.json'
    try:
        with open(filename) as file_object:
            username = json.load(file_object)
    except FileNotFoundError:
        return None
    else:
        return username
def greet_user():
    username = get_stored_username()
    if uesrname:
        print(f"Welcome come back {username}!")
    else:
        uesrname = input("What is your name?")
        filename = 'username.json'
        with open(filename,"w") as file_object:
            json.dump(username,file_object)
            print(f"We'll rember you when you come back {username}!")
greet_user()

报错:

Traceback (most recent call last):
  File "C:\Users\yaojianxin\Desktop\study\3、python_work\remember_me.py", line 57, in <module>
    greet_user()
  File "C:\Users\yaojianxin\Desktop\study\3、python_work\remember_me.py", line 49, in greet_user
    if uesrname:
UnboundLocalError: local variable 'uesrname' referenced before assignment

这个问题是哪里出了问题?应该如何解决?

输入有误,细心点。你上面的username 下面写成了uesrname。