You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中多次将数据存入列表?书店程序仅显单条数据求助

问题分析与修复方案

核心问题点

  • continue语句位置错误:当输入y时,continue会直接跳过后续的书籍信息保存代码,导致当前输入的内容完全丢失,且该分支下的book = [...]永远不会执行。
  • 未使用集合存储多本书籍:仅用单个book变量存储数据,每次输入新书籍会覆盖旧数据,最终只能保留最后一次输入的内容;若首次输入就选n,还会因book未定义触发NameError。

修复后的代码

# 初始化空列表存储所有书籍
books = []
while True:
    title = input("Title: ")
    author = input("Author: ")
    purchase_price = float(input("Purchase_Price: "))
    sell_price = float(input("Sell_Price: "))
    # 将当前书籍信息添加到列表
    books.append([title, author, purchase_price, sell_price])
    
    continues = input("Do you want to enter more books? y/n")
    if continues == 'n':
        break

# 遍历打印所有书籍信息
for book in books:
    print(book)

修复说明

  • 用列表books统一存储所有书籍数据,通过append()方法实现数据累加,避免覆盖。
  • 移除错误的continue语句,确保每次输入的书籍信息都能被保存。
  • 改用while True+break简化循环逻辑,无需额外变量控制循环启停。
  • 最后通过循环遍历列表,完整打印所有输入的书籍信息。

内容的提问来源于stack exchange,提问作者Captain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:54:23