如何通过用户输入向Python列表添加元素?代码运行异常求解决
问题错误点
- 缺少循环逻辑:现有代码仅执行1次新增判断,用户输入Y后没有后续输入入口,程序执行完if分支的代码后直接结束,不会触发新的输入流程
- 新增逻辑错误:if分支中没有让用户输入新代码的步骤,直接把第一次输入的代码重复追加到列表中,会产生冗余的重复数据
- 输入匹配不兼容:仅判断了大写
Y的场景,用户输入小写y时会直接进入else分支打印列表,不符合使用习惯
优化实现方案
以下是支持反复添加内容的实现代码:
tickers = [] print(f'当前股票观察列表: {tickers}') while True: # 读取用户输入的股票代码 ticker = input("请输入你想要添加的股票代码:\n") tickers.append(ticker) # 询问是否继续添加 add_more = input("是否要添加更多股票代码?输入Y继续,输入N结束: ").strip().upper() if add_more != 'Y': break print(f'更新后的股票观察列表: {tickers}')
实现逻辑说明:
- 用
while True开启无限循环,满足反复添加内容的需求 - 用
.strip().upper()处理用户输入,自动忽略输入前后的空格、兼容大小写输入,不管用户输y/Y都会识别为确认继续 - 只有当用户输入非Y的内容时才跳出循环,最终打印完整的列表
内容的提问来源于stack exchange,提问作者Joseph Bertz
相关产品推荐
相关产品推荐

