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

如何将输入文本加入数组并按添加顺序分配序号?

问题描述
  • 需求:把输入的文本添加到数组里,按添加顺序给每个文本分配序号。比如输入“bike”时,将它加入数组并打印「你的物品是第1号」,再输入其他单词就显示第2号,以此类推。
  • 现有代码:
list = []
main = True

shop = input("Enter the shop you are visiting: ")

while main == True:
  
  choice = input("Enter your item: ")
  list.append(choice)
  print("The priority for this item is", list[-1])
  • 当前问题:用list[-1]只会打印刚添加的物品内容,没法显示它的顺序序号。
修复方案

你用list[-1]拿到的是数组最后一个元素的内容,不是它的位置序号。因为数组索引从0开始,但需求里的序号是从1开始算的,所以每次添加完元素后,数组的长度刚好就是这个元素的序号(比如加第一个元素后长度是1,对应第1号)。

修改后的代码:

items = []  # 别用list当变量名,会覆盖Python内置的list类型
main = True

shop = input("请输入你要逛的商店:")

while main:
    choice = input("请输入你的物品:")
    items.append(choice)
    # 用数组长度直接获取当前物品的序号
    print(f"你的物品是第{len(items)}号")

额外优化说明:

  • 把变量名list改成items,避免和Python内置类型冲突
  • while main == True简化成while main,更符合Python的写法习惯
  • 把输入输出的英文提示换成了中文,和需求里的示例输出匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:27:45