啊啊啊

i=1
j = 1
while 1:
    date='date'+str(i)
    goods='goods'+str(i)
    number='number'+str(i)
    money='number'+str(i)
    date_list = []  # 用于存放日期
    goods = {}  # 用于存放商品信息
    number = {}  # 用与存放数量
    money = {}  # 用于存放单价
    date=input("请输入日期:")
    if date == 'm':
        break
    else:
        date_list.append(date)
        while 1:
            good_name=input("请输入商品的名字:")
            if good_name== 'm':
                print("输入结束!")
                break
            else:
                ikey='ikey'+str(j)
                goods[ikey]=good_name
                number_num=input('请输入商品数量:')
                number[ikey]=number_num
                money_mon=input('请输入商品的单价:')
                money[ikey]=money_mon
                print(goods[ikey],number[ikey],money[ikey])
                j+=1
for a in range(i):
    a+=1
    date='date'+str(a)
    goods = 'goods' + str(a)
    number = 'number' + str(a)
    money = 'money' + str(a)
    print(date)
    for b in range(j):
        b+=1
        ikey='ikey'+str(b)
        print(goods[ikey],number[ikey],money[ikey])

print("清单显示完毕")

Traceback (most recent call last):
File "D:/python/学习过程/基于嵌套式字典 超市货物统计程序.py", line 70, in <module>
print(goods[ikey])
TypeError: string indices must be integers

 

不能实现功能,因为key会被无限更新

 

date = 'date' + str(1)
goods = 'goods' + str(1)
number = 'number' + str(1)
money = 'money' + str(1)

date='11.24'
goods ={'ikey1':'牛奶','ikey2':'方便面','ikey3':'糖果'}
number ={'ikey1':15,'ikey2':25,'ikey3':10}
money ={'ikey1':15,'ikey2':25,'ikey3':10}

date = 'date' + str(2)
goods = 'goods' + str(2)
number = 'number' + str(2)
money = 'money' + str(2)

goods ={'ikey1':'牛奶','ikey2':'方便面','ikey3':'糖果'}
number ={'ikey1':10,'ikey2':10,'ikey3':2}
money ={'ikey1':10,'ikey2':10,'ikey3':10}

for b in range(3):
        b+=1
        ikey='ikey'+str(b)
        print(goods[ikey],number[ikey],money[ikey])

 

 

 

D:\python\学习过程\venv\Scripts\python.exe D:/python/学习过程/遍历测试.py
牛奶 10 10
方便面 10 10
糖果 2 10

 

#不能实现循环  因为 没有遍历自增变量

 

 

 

 

date_list = []  # 用于存放日期
g_n_list=[0]
goods = {}  # 用于存放商品信息
number = {}  # 用与存放数量
money = {}  # 用于存放单价
i=0
while 1:

    date=input("请输入日期:")
    if date == 'm':
        break
    else:
        date_list.append(date)
        while 1:

            good_name=input("请输入商品的名字:")
            if good_name== 'm':
                print("输入结束!")
                break
            else:

                ikey='ikey'+str(i)
                goods[ikey]=good_name
                number_num=input('请输入商品数量:')
                number[ikey]=number_num
                money_mon=input('请输入商品的单价:')
                money[ikey]=money_mon
                print(goods[ikey],number[ikey],money[ikey])
                # g=i+1
                # print('有',g,'件商品')
                i+=1
        g_n_list.append(i)
        print(date_list,g_n_list)
for a in range(len(date_list)):
        print(date_list[a])
        A_=g_n_list[a]
        B=a+1
        B_=g_n_list[B]

        for b in range(A_,B_):
                ikey='ikey'+str(b)
                print(goods[ikey],number[ikey],money[ikey])
print("清单显示完毕")

请输入日期:11.24
请输入商品的名字:牛奶
请输入商品数量:15
请输入商品的单价:5.5
牛奶 15 5.5
请输入商品的名字:方便面
请输入商品数量:25
请输入商品的单价:4
方便面 25 4
请输入商品的名字:糖果
请输入商品数量:10
请输入商品的单价:12
糖果 10 12
请输入商品的名字:m
输入结束!
['11.24'] [0, 3]
请输入日期:12.25
请输入商品的名字:牛奶
请输入商品数量:25
请输入商品的单价:5.5
牛奶 25 5.5
请输入商品的名字:m
输入结束!
['11.24', '12.25'] [0, 3, 4]
请输入日期:m
11.24
牛奶 15 5.5
方便面 25 4
糖果 10 12
12.25
牛奶 25 5.5
清单显示完毕

 

posted on 2021-08-17 15:32  Kaxb  阅读(174)  评论(0)    收藏  举报