Python交互式函数问题:实现输入后即时响应而非批量收集输入
解决方案
你需要把输入操作放到函数内部,按顺序执行:先处理用户名的输入与响应,再处理秘密数字的输入与响应。修改后的代码如下:
def login(): # 第一步:询问用户名并返回问候 name_input = input("What is your username? ") master_name = "fly" if name_input == master_name: print("Hope ye be well, master creator fly.") else: print(f"Welcome {name_input}") # 第二步:询问秘密数字并返回响应 secret_num = int(input("What is your secret number? ")) if secret_num == 13: print("Access granted") else: print("Initiating self destruct!") login()
关键修改说明:
- 将所有输入操作移到
login()函数内部,确保执行顺序是先问用户名→输出问候→再问秘密数字→输出结果 - 使用f-string简化问候语的拼接(
f"Welcome {name_input}"),比字符串相加更简洁直观 - 变量名改为符合PEP8规范的下划线命名(如
name_input代替nameinput),提升代码可读性 - 移除不必要的
str()强制转换,input()本身返回字符串,print()会自动处理类型转换
内容的提问来源于stack exchange,提问作者Flyeyed Shlipperyfish
相关产品推荐
相关产品推荐

