Python-文件操做-之優化購物車

#這次購物車優化,主要使用了文件操做的相關方法,有買家入口,和商家入口

1、買家入口

一、買家第一次啓動程序輸入金額,金額會記錄到文件裏,再登陸就讀取文件裏保存的金額,買家能夠購買商品,按 ‘q’ 退出後顯示購買的商品和餘額,並保存購買過的商品和餘額。
 1 global data
 2 global userinformation
 3 money=''
 4 data='data.txt'
 5 userinformation='userinformation.txt'
 6 mgoods=[]
 7 exit_flag = False
 8 def shuoppxit(money):
 9     if money.isdigit():
10         while not exit_flag:
11             for index, item in enumerate(goods):
12                 print(index, item)
13             numbres = input("輸入購買商品的序號:")
14             if numbres.isdigit():
15                 numbres = int(numbres)
16                 if numbres< len(goods) and numbres >=0:
17                     money = int(money)
18                     numbres_goods=goods[numbres][1]
19                     if money >= numbres_goods:
20                         money=money-numbres_goods
21                         goods[numbres].append('餘額')
22                         goods[numbres].append(money)
23                         print(goods[numbres])
24                         mgoods.append(goods[numbres])
25                         f = open(userinformation, 'w+', encoding='utf-8')
26                         f.write(str(mgoods))
27                         f.close()
28                         print('購買商品成功:'+goods[numbres][0])
29                         print('剩餘金錢:\033[31;1m %s \33[0m' % money )
30                     else:
31                         print('餘額不足!')
32             elif numbres=='q' or numbres=='Q':
33                 print('你購買的商品以下:')
34                 f = open(userinformation, 'r', encoding='utf-8')
35                 data2 = f.read()
36                 goods2 = eval(data2)
37                 for i in goods2:
38                     print(i)
39                 break
40             else:
41                 print('輸入錯誤!!')
42     else:
43         print('輸入錯誤!!,從新輸入')
44 
45 f = open(data,'r',encoding='utf-8')
46 data2 = f.read()
47 goods = eval(data2)
48 
49 f = open(userinformation,'r',encoding='utf-8')
50 data2 = f.read()
51 if data2 !='':
52     usernames = eval(data2)
53     money= usernames[0][3]
54     money=str(money)
55     shuoppxit(money)
56 else:
57     money = input("輸入你的錢:")
58     shuoppxit(money)

 

2、商家入口

一、商家能夠添加商品,和修改商品價格
global data
money=''
data='data.txt'
mgoods=[]
exit_flag = False

f = open(data,'r',encoding='utf-8')
data2 = f.read()
goods = eval(data2)
print(goods)
while not exit_flag:
    choice=input('一、添加商品 二、修改價格:')
    if choice.isdigit():
        if choice=='1':
            name=input('輸入商品名:')
            price=input('輸入價格:')
            mgoods.append(name)
            mgoods.append(price)
            goods.append(mgoods)
            f = open(data, 'w', encoding='utf-8')
            f.write(str(goods))
            f.close()
            print(goods)
        else:
            for index, item in enumerate(goods):
                print(index, item)
                numbres = input("輸入修改商品的序號:")
                if numbres.isdigit():
                    numbres = int(numbres)
                    if numbres < len(goods) and numbres >= 0:
                        jiage = input("輸入修改商品價格:")
                        if jiage.isdigit():
                            jiage = int(jiage)
                            goods[numbres][1]= jiage
                            f = open(data, 'w', encoding='utf-8')
                            f.write(str(goods))
                            f.close()
                            print(goods)
                            exit_flag=True

 



學習無止境,加油
相關文章
相關標籤/搜索