比纯路人还纯 2021-08-10 20:06 采纳率: 100%
浏览 72
已结题

python 的简单遍历问题(凑字数)

问题:对xz.txt文件进行遍历的时候只能查找到最后一个字典

    shop_list = []
    while True:
        id=int(input('输入商品编号:'))
        name=input('输入商品名称:')
        a={'id':id,'name':name}
        shop_list.append(a)
        b=input('继续添加?y/n')
        if b=='y':
            continue

    else:
        print('输入的产品信息为:'+str(shop_list)+'\t')
        a=input('确实储存?')
        if a=='y':
            break
        else:
            shop_list=[]
            if a=='y':
                print('以保存')
            else:
                print('以清除')
                break
            break

def save(shop_list):
    try:
        c=open('xz.txt','a',encoding='utf-8')
    except:
        c=open('xz.txt','w',encoding='utf-8')

    for iten in shop_list:
        print(iten)
        c.write(str(iten)+'\n')
    c.close()

save(shop_list)

```python
def chioce():

    go=[]
    while True:
        a=input('输入要加入购物车的商品:')
        with open('xz.txt','r',encoding='utf-8')as c:
            shop=c.readlines()
            for item in shop:
                print(item)
                item = dict(eval(item))
                #print(shop)
                #print(item)
                a=int(a)
            if item['id']==a:
                b=item['name']
                print(b)
                go.append(b)
                break
            else:
                print('没有这个商品')
                break
    shop.append(a)
    print('购物车里有',go)
if __name__ == '__main__':
    chioce()


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/06687669582618.png '屏幕截图 2021-08-10 195702.png')



img

img



  • 写回答

2条回答 默认 最新

  • 一把编程的菜刀 2021-08-10 20:15
    关注
            if item['id']==a:
    
                b=item['name']
    
                print(b)
    
                go.append(b)
    
                break
    

    你这里都满足条件退出循环了,那就肯定值存进去一个了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月19日
  • 已采纳回答 8月11日
  • 创建了问题 8月10日

悬赏问题

  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?