Shopping1(主要使用列表进行存储)
--------------------goods.txt-----------------------
iphone3s,3500
iphone4,4000
iphone4s,4500
iphone5,5000
iphone5s,5500
iphone6,6000
iphone6s,6500
iphone7,7700
--------------------goods.txt-----------------------

1 def print_list(): # 打印商品清单,并返回商品清单 2 with open("goods.txt", 'r') as file: 3 str1 = file.read() 4 list_goods = str1.split('\n') 5 for index, i in enumerate(list_goods): 6 print(index + 1, i) 7 return list_goods 8 9 def write_file(str1): # 将接收到的字符串写入商品清单txt中 10 with open("goods.txt", 'w') as file: 11 file.write(str1.strip('\n')) 12 print("操作成功!") 13 14 def change_goods(): # 修改商品价格函数 15 while True: 16 list_goods = print_list() # 调用函数 print_list() 17 change_num = int(input("请输入您需要修改的商品编号:")) 18 change_goods = list_goods[change_num-1] 19 change_good2 = change_goods.split(',') 20 change_price = int(input("请输入商品的价格:")) 21 list_goods[change_num-1] = change_good2[0]+','+change_price.__str__() 22 str1 = "" 23 for i in list_goods: 24 str1 = str1 + i + '\n' 25 write_file(str1) # 调用函数write_file() 26 c_to_q = input("继续操作请按'c',按其他任意键退出程序:") 27 if c_to_q == 'c': 28 continue 29 else: 30 break 31 32 def add_goods(): # 添加商品函数 33 while True: 34 list_goods = print_list() # 调用函数 print_list() 35 add_name = input("请输入需要增加的商品名称:") 36 add_price = int(input("请输入需要增加商品的价格:")) 37 add_goods = add_name + ',' + add_price.__str__() 38 list_goods.append(add_goods) 39 str1 = "" 40 for i in list_goods: 41 str1 = str1 + i + '\n' 42 write_file(str1) # 调用函数write_file() 43 c_or_q = input("继续操作请按'c',按其他任意键退出程序:") 44 if c_or_q == 'c': 45 continue 46 else: 47 break 48 49 def del_goods(): # 删除商品函数 50 while True: 51 list_goods = print_list() # 调用函数 print_list() 52 del_num = int(input("请输入需要删除商品的编号:")) 53 del_goods = list_goods[del_num -1 ] 54 list_goods.remove(del_goods) 55 str1 = "" 56 for i in list_goods: 57 str1 = str1 + i + '\n' 58 write_file(str1) # 调用函数write_file() 59 c_or_q = input("继续操作请按'c',按其他任意键退出程序:") 60 if c_or_q == 'c': 61 continue 62 else: 63 break 64 65 def user(): 66 balance_file = open("balance.txt", 'a+') 67 balance_file.seek(0) 68 balance = balance_file.read() 69 if balance == "": 70 balance = int(input("请输入您的工资:")) 71 balance = int(balance) 72 pur_list1 = [] 73 pur_goods = open("pur_goods.txt", 'a+') 74 while True: 75 print("商品列表".center(50, '-')) 76 list_goods = print_list() # 调用函数 print_list() 77 print("你目前账户的余额为:%d" %balance) 78 list_num = input("请输入需购买的商品编号,或者输入'Q'退出程序:") 79 if list_num.isdigit(): 80 list_num = int(list_num) 81 if list_num > 0 and list_num <= len(list_goods): 82 goods_list = list_goods[list_num - 1] 83 pur_list2 = goods_list.split(',') 84 if balance >= int(pur_list2[1]): 85 balance = balance - int(pur_list2[1]) 86 pur_list1.append(pur_list2[0]) 87 print("成功购买 %s,花费 %s。剩余金额 %d " % (pur_list2[0], pur_list2[1], balance)) 88 else: 89 print("余额不足,剩余金额 %d,请重新选择!" % balance) 90 continue 91 else: 92 print("编号不存在,请重新输入!") 93 elif list_num.upper() == 'Q': 94 break 95 else: 96 print("输入错误,请重新输入!") 97 98 str2 = "" 99 for i2 in pur_list1: 100 str2 = str2 + i2 + '\n' 101 pur_goods.write(str2) 102 pur_goods.seek(0) 103 print("你已购的商品为:\n",pur_goods.read()) 104 pur_goods.close() 105 balance_file.close() 106 with open("balance.txt", 'w') as balance_file2: 107 balance_file2.write(str(balance)) 108 109 #---------------------调用部分----------------------------- 110 111 while True: 112 interface = int(input("输入‘1’登录用户接口,输入‘2’登录商家接口:")) 113 if interface == 1: 114 user() 115 break 116 elif interface == 2: 117 print("功能列表".center(50,'-')) 118 print("1、修改商品价格\n 2、添加新商品\n 3、删除商品\n") 119 while True: 120 interface2 = int(input("请输入需要使用的功能编号:")) 121 if interface2 == 1: 122 change_goods() 123 exit() 124 elif interface2 == 2: 125 add_goods() 126 exit() 127 elif interface2 == 3: 128 del_goods() 129 exit() 130 else: 131 print("输入错误,请重新输入!") 132 else: 133 print("输入错误,请重新输入!")
def print_list(): # 打印商品清单,并返回商品清单 with open("goods.txt", 'r') as file: str1 = file.read() list_goods = str1.split('\n') for index, i in enumerate(list_goods): print(index + 1, i) return list_goods def write_file(str1): # 将接收到的字符串写入商品清单txt中 with open("goods.txt", 'w') as file: file.write(str1.strip('\n')) print("操作成功!") def change_goods(): # 修改商品价格函数 while True: list_goods = print_list() # 调用函数 print_list() change_num = int(input("请输入您需要修改的商品编号:")) change_goods = list_goods[change_num-1] change_good2 = change_goods.split(',') change_price = int(input("请输入商品的价格:")) list_goods[change_num-1] = change_good2[0]+','+change_price.__str__() str1 = "" for i in list_goods: str1 = str1 + i + '\n' write_file(str1) # 调用函数write_file() c_to_q = input("继续操作请按'c',按其他任意键退出程序:") if c_to_q == 'c': continue else: break def add_goods(): # 添加商品函数 while True: list_goods = print_list() # 调用函数 print_list() add_name = input("请输入需要增加的商品名称:") add_price = int(input("请输入需要增加商品的价格:")) add_goods = add_name + ',' + add_price.__str__() list_goods.append(add_goods) str1 = "" for i in list_goods: str1 = str1 + i + '\n' write_file(str1) # 调用函数write_file() c_or_q = input("继续操作请按'c',按其他任意键退出程序:") if c_or_q == 'c': continue else: break def del_goods(): # 删除商品函数 while True: list_goods = print_list() # 调用函数 print_list() del_num = int(input("请输入需要删除商品的编号:")) del_goods = list_goods[del_num -1 ] list_goods.remove(del_goods) str1 = "" for i in list_goods: str1 = str1 + i + '\n' write_file(str1) # 调用函数write_file() c_or_q = input("继续操作请按'c',按其他任意键退出程序:") if c_or_q == 'c': continue else: break def user(): balance_file = open("balance.txt", 'a+') balance_file.seek(0) balance = balance_file.read() if balance == "": balance = int(input("请输入您的工资:")) balance = int(balance) pur_list1 = [] pur_goods = open("pur_goods.txt", 'a+') while True: print("商品列表".center(50, '-')) list_goods = print_list() # 调用函数 print_list() print("你目前账户的余额为:%d" %balance) list_num = input("请输入需购买的商品编号,或者输入'Q'退出程序:") if list_num.isdigit(): list_num = int(list_num) if list_num > 0 and list_num <= len(list_goods): goods_list = list_goods[list_num - 1] pur_list2 = goods_list.split(',') if balance >= int(pur_list2[1]): balance = balance - int(pur_list2[1]) pur_list1.append(pur_list2[0]) print("成功购买 %s,花费 %s。剩余金额 %d " % (pur_list2[0], pur_list2[1], balance)) else: print("余额不足,剩余金额 %d,请重新选择!" % balance) continue else: print("编号不存在,请重新输入!") elif list_num.upper() == 'Q': break else: print("输入错误,请重新输入!") str2 = "" for i2 in pur_list1: str2 = str2 + i2 + '\n' pur_goods.write(str2) pur_goods.seek(0) print("你已购的商品为:\n",pur_goods.read()) pur_goods.close() balance_file.close() with open("balance.txt", 'w') as balance_file2: balance_file2.write(str(balance)) #---------------------调用部分----------------------------- while True: interface = int(input("输入‘1’登录用户接口,输入‘2’登录商家接口:")) if interface == 1: user() break elif interface == 2: print("功能列表".center(50,'-')) print("1、修改商品价格\n 2、添加新商品\n 3、删除商品\n") while True: interface2 = int(input("请输入需要使用的功能编号:")) if interface2 == 1: change_goods() exit() elif interface2 == 2: add_goods() exit() elif interface2 == 3: del_goods() exit() else: print("输入错误,请重新输入!") else: print("输入错误,请重新输入!")