Python3作业问题:循环返回变量时需两次输入才输出
问题修复方案
你的代码核心问题出在output_names函数里——你没有使用传入的doggo_names列表,反而再次调用了get_doggo_names()函数,这直接导致程序触发第二次输入流程。
修复后的完整代码
def main(): doggo_names = get_doggo_names() output_names(doggo_names) def get_doggo_names(): name = '' names = [] while name != 'DONE': name = input('Name of doggo: ') if name != 'DONE': names.append(name) return names def output_names(doggo_names): print() # 遍历主函数中已收集好的名字列表,而非重新触发输入 for name in doggo_names: print(f"{name} is awesome.") main()
关键修改点
- 把
output_names里的for names in get_doggo_names()改为for name in doggo_names,直接复用已经收集到的名字数据 - 用f-string优化打印格式,避免原代码中
end参数的错误写法,让输出逻辑更清晰
内容的提问来源于stack exchange,提问作者Zach Banks
相关产品推荐
相关产品推荐

