Python3中如何在login()函数外判断登录成功后调用其他函数?
修改登录函数以支持外部逻辑触发
调整后的login()函数
修改原函数,让它在登录成功时返回True,外部代码就能根据返回值判断是否执行后续操作:
import getpass def login(): while True: loginUser = input("Username: ") loginPass = getpass.getpass() for user_info in users: if loginUser == user_info[0] and loginPass == user_info[1]: print("Success\n") return True # 登录成功返回True print("Wrong username or password\n") # 可选:允许用户主动退出登录重试 # retry = input("Retry? (y/n): ").lower() # if retry != 'y': # return False
外部调用示例
现在无需修改登录核心代码,就能在外部根据登录结果执行自定义函数:
# 假设已定义用户信息列表 users = [["alice", "123456"], ["bob", "abcdef"]] def custom_function(): print("执行登录后的自定义操作") if login(): custom_function() # 若添加了退出重试的逻辑,可补充失败处理: # else: # print("登录失败,已退出")
逻辑说明
- 原登录循环的核心逻辑完全保留,仅在成功时增加返回值,不侵入原有代码结构
- 外部通过判断返回值触发后续操作,完美实现登录逻辑与后续功能的分离
内容的提问来源于stack exchange,提问作者jonathandavid
相关产品推荐
相关产品推荐

