网络攻城狮8074
2021-08-10 20:06
采纳率: 75%
浏览 69
已结题

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条)

相关推荐 更多相似问题