作业,3.19名称空间作用域

input=333
def func():
    input=444
func()
print(input)

  

def func():
    print(x)
x=111

func()

  

x=1
def func():
   print(x)


def foo():
    x=222
    func()

foo()

  

input=111
def f1():
    def f2():
        # input=333
        print(input)
    input=222

    f2()

f1()

  

x=111
def func():
    print(x) #
    x=222

func()

  

x=111

def foo():
    print(x,)

def bar():
    print(x)

foo()
bar()

  

x=1
def func2():
    func1()

x=2
def func1():
    print(x)

x=3

func2()

  

# 1、如下全局变量记录了当前登录用户,编写登录功能,一旦用户登录成功,则将全局变量赋值为当前登录的用户名


# login_user=None


login_user=None
def users(file,user_into,pas):
    with open(file, mode='rt', encoding='utf-8') as f1:

        for line in f1:

            user, word = line.strip().split(':')

            if user_into == user and pas == word:

                print('登录成功!')

                global login_user

                login_user=user_into

            else:

                print('登录失败')

 

users('dbs.txt','tank','123')

print(login_user)

  


# 2、针对之前编写的查询余额的功能,添加额外的逻辑:如果用户没有登录,则先执行登录功能


def query(user):
    dic = {}
    with open('query','r',encoding='utf-8') as f:
        for line in f:
            name,money = line.strip().split(':')
            dic[name] = money
    # 用户是否已经登陆
    if not log_dic.get(user):
        print('请先登录')
        login(user)

    return f'{user},你的余额为{dic[user]}'


username = input('your name:')
res1 = query(username)


print(res1)

  






原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12525408.html