标签:append pop net 技术 用户信息 sony back oca local
1. 商品信息- 数量、单价、名称
2. 用户信息- 帐号、密码、余额
3. 用户可充值
4. 购物历史信息
5. 允许用户多次购买,每次可购买多件
6. 余额不足时进行提醒
7. 用户退出时 ,输出档次购物信息
8. 用户下次登陆时可查看购物历史
9. 商品列表分级显示
1 # 用户登录 2 T = True 3 name = input(‘Please enter name:‘) 4 f = open(‘shopping.txt‘,‘r‘) 5 gg = f.read() 6 f.close() 7 ff = gg.split() 8 count = 0 9 for cc in ff: # 检查是否新用户 10 bb = cc.split(‘,‘) # 分成不同列表 11 if bb[0] == name: 12 qq = bb[2] 13 while T: 14 password = input(‘Please enter password:‘) 15 if password == qq: 16 balance = bb[1] 17 print (‘Welome! Your balance is %s‘ % balance) 18 count=+1 19 break 20 else: 21 print(‘Your password was wrong.‘) 22 break 23 else: 24 continue 25 if count == 0: 26 password = input(‘Please enter password:‘) 27 print(‘Welcome to the first! Your balance is 0‘) 28 balance = 0 29 30 # 创造三级菜单 31 shoppingmall = {‘sport‘: {‘clothes‘:{‘coat‘:{20: 80}, ‘shirt‘: {30: 100}, ‘skirt‘: {20: 120}}, 32 ‘tools‘: {‘net‘: {20: 70}, ‘bat‘: {40: 100}, ‘fish pole‘: {20: 90}}, 33 ‘ball‘: {‘basketball‘: {90: 200}, ‘pingpong‘: {10: 20}, ‘football‘: {50: 170}}}, 34 ‘electrical equipment‘: {‘phone‘: {‘Apple‘: {10: 6000}, ‘Xiaomi‘: {15: 2000}, ‘Huawei‘: {5: 3000}}, 35 ‘computer‘: {‘HP‘: {2: 4000}, ‘Lenovo‘: {6: 2200}, ‘Dell‘: {10: 3000}}, 36 ‘TV‘: {‘Sony‘: {60: 5000}, ‘LG‘: {30: 3000}, ‘TCL‘: {40: 2200}}}, 37 ‘book‘: {‘baby‘: {‘Story‘: {50: 37},‘Picture‘: {30: 64},‘Music‘: {60: 93}}, 38 ‘child‘: {‘Exercise‘: {30: 36},‘Earth‘: {20: 55},‘Weather‘: {30: 64}}, 39 ‘adult‘: {‘Leaning‘: {40: 45},‘Cookbook‘: {50: 74},‘Tourism‘: {50: 43}}}} 40 list1=[] 41 list2=[] 42 list3=[] 43 shopping_list=[] 44 item_price={} 45 lse = [] 46 47 # 打印一级菜单 48 while T: 49 50 while T: 51 for key in shoppingmall: 52 print(key) 53 list1.append(key) 54 # 选择一项到下一级菜单或者退出 55 choose = input(‘Please choose thing or q = quit:‘) 56 if choose == ‘q‘: 57 exit(‘Bye!‘) 58 # 进入下一级菜单 59 elif choose in list1: 60 a = shoppingmall.get(choose) 61 while T: 62 for key1 in a: 63 print(key1) 64 list2.append(key1) 65 # 选择一项到下一级菜单或者退出或返回 66 67 choose1 = input(‘Please chose that you want or q = quit or b = back:‘) 68 if choose1 == ‘q‘: 69 exit(‘Bye!‘) 70 elif choose1 == ‘b‘: 71 break 72 elif choose1 in list2: 73 # 进入下一级菜单 74 b = a.get(choose1) 75 while T: 76 for key2 in b: 77 c = b.get(key2) 78 list3.append(key2) 79 for number in c: 80 price = c.get(number) #number剩余数量,price 商品价钱 81 item_price[key2] = price#商品和对应的价钱放入字典中 82 print (‘%s is $%s left %s‘ % (key2, item_price[key2], number)) 83 # 选择退出,返回上一级菜单 或者第一个菜单 84 choose2 = input(‘What do you want to buy? n = quit,b = back.‘) 85 if choose2 == ‘n‘: 86 exit(‘Bye!‘) 87 elif choose2 == ‘b‘: 88 break 89 elif choose2 in list3: 90 quantity = int(input(‘Please choose quantity‘)) 91 if quantity <=number: #检查购买数量是否大于存货量 92 if choose2 in shopping_list: 93 local = shopping_list.index(choose2) 94 quantity = int(quantity) + int(shopping_list[local+2]) 95 goods_price = (quantity * item_price[choose2]) 96 shopping_list.pop(local+1) 97 shopping_list.pop(local+1) 98 shopping_list.insert(local+1, goods_price) 99 shopping_list.insert(local+2, quantity) #物品数量放入购物名单中 100 else: 101 shopping_list.append(choose2) 102 goods_price = (quantity * item_price[choose2]) 103 shopping_list.append(goods_price) 104 shopping_list.append(quantity) # 物品数量放入购物名单中 105 shop_thing = shopping_list[::3] 106 shop_num = shopping_list[2::3] 107 print(‘Shopping list has:‘) 108 ii = len(shop_thing) 109 for item in range(ii): # 输出购买名单 110 print (‘%s has %s‘% (shop_thing[item], shop_num[item])) 111 last = input(‘Goods have been put in shopping_list, what do you want to do? ‘ 112 ‘c = check out, q = quit, o = other thing I want to buy.‘) 113 if last == ‘c‘: 114 #计算总数 115 total_price = 0 116 for h in range(len(shop_thing)): 117 total_price += goods_price 118 print(‘Total price is %s, your balance is %s‘ % (total_price, balance)) 119 while T: 120 if total_price> int(balance): # 检查余额是否足够 121 out = input(‘Balance is not enough,do you want to rechange? y =yes,‘ 122 ‘q = quit‘) 123 if out == ‘y‘: 124 recharge = input(‘How much do you recharge‘) # 余额不足,需要充值 125 if int(recharge) and int(recharge)>0: 126 balance = int(balance) + int(recharge) 127 else: 128 one_more = input(‘Invalid value, any key = please again, q = quit.‘) 129 if one_more == ‘q‘: 130 exit() 131 elif out == ‘q‘: 132 exit() 133 else: 134 balance = int(balance) - total_price # 计算总价,余额,输出购买清单 135 shopping_list[-1] = balance 136 print (‘This you shopping list‘.center(40,‘*‘)) 137 aa = len(shop_thing) 138 for item1 in range(aa): 139 print (‘%s: %s‘% (shop_thing[item1], shop_num[item1])) 140 print (‘Total price is %s, balance is %s‘ % (total_price, balance)) 141 end = ‘Thank you, please come again‘.center(40, ‘*‘) 142 print (end) 143 if count == 0: # 购买的历史信息写入文件 144 f = open(‘shopping.txt‘, ‘a‘) #这次购买物品放入文本中 145 msg = ‘\n%s,%s,%s\n‘ % (name, balance, password) 146 f.write(msg) 147 f.close() 148 exit() 149 else: 150 for cc in ff: 151 bb = cc.split(‘,‘) # 分成不同列表 152 dd = type(bb) 153 if bb[0] == name: 154 bb[1] = str(balance) 155 ee = ‘,‘.join(bb).strip() 156 lse.append(ee) 157 ss = ‘\n‘.join(lse) 158 159 f = open(‘shopping.txt‘, ‘w‘) #这次购买物品放入文本中 160 f.write(ss) 161 f.close() 162 exit() 163 elif last == ‘q‘: 164 exit() 165 elif last == ‘o‘: 166 continue 167 else: 168 print (‘Yout choose is over the choose, please choose again‘) 169 else: 170 print (‘Quantity is over, please choose again‘) 171 else: 172 print (‘Yout choose is over the choose, please choose again‘) 173 else: 174 print(‘Sorry, your choose not in list! Please choose again‘) 175 else: 176 print(‘Sorry, your choose not in list! Please choose again‘)
# 用户登录
T = True
name = input(‘Please enter name:‘)
f = open(‘shopping.txt‘,‘r‘)
gg = f.read()
f.close()
ff = gg.split()
count = 0
for cc in ff: # 检查是否新用户
bb = cc.split(‘,‘) # 分成不同列表
if bb[0] == name:
qq = bb[2]
while T:
password = input(‘Please enter password:‘)
if password == qq:
balance = bb[1]
print (‘Welome! Your balance is %s‘ % balance)
count=+1
break
else:
print(‘Your password was wrong.‘)
break
else:
continue
if count == 0:
password = input(‘Please enter password:‘)
print(‘Welcome to the first! Your balance is 0‘)
balance = 0
# 创造三级菜单
shoppingmall = {‘sport‘: {‘clothes‘:{‘coat‘:{20: 80}, ‘shirt‘: {30: 100}, ‘skirt‘: {20: 120}},
‘tools‘: {‘net‘: {20: 70}, ‘bat‘: {40: 100}, ‘fish pole‘: {20: 90}},
‘ball‘: {‘basketball‘: {90: 200}, ‘pingpong‘: {10: 20}, ‘football‘: {50: 170}}},
‘electrical equipment‘: {‘phone‘: {‘Apple‘: {10: 6000}, ‘Xiaomi‘: {15: 2000}, ‘Huawei‘: {5: 3000}},
‘computer‘: {‘HP‘: {2: 4000}, ‘Lenovo‘: {6: 2200}, ‘Dell‘: {10: 3000}},
‘TV‘: {‘Sony‘: {60: 5000}, ‘LG‘: {30: 3000}, ‘TCL‘: {40: 2200}}},
‘book‘: {‘baby‘: {‘Story‘: {50: 37},‘Picture‘: {30: 64},‘Music‘: {60: 93}},
‘child‘: {‘Exercise‘: {30: 36},‘Earth‘: {20: 55},‘Weather‘: {30: 64}},
‘adult‘: {‘Leaning‘: {40: 45},‘Cookbook‘: {50: 74},‘Tourism‘: {50: 43}}}}
list1=[]
list2=[]
list3=[]
shopping_list=[]
item_price={}
lse = []
# 打印一级菜单
while T:
while T:
for key in shoppingmall:
print(key)
list1.append(key)
# 选择一项到下一级菜单或者退出
choose = input(‘Please choose thing or q = quit:‘)
if choose == ‘q‘:
exit(‘Bye!‘)
# 进入下一级菜单
elif choose in list1:
a = shoppingmall.get(choose)
while T:
for key1 in a:
print(key1)
list2.append(key1)
# 选择一项到下一级菜单或者退出或返回
choose1 = input(‘Please chose that you want or q = quit or b = back:‘)
if choose1 == ‘q‘:
exit(‘Bye!‘)
elif choose1 == ‘b‘:
break
elif choose1 in list2:
# 进入下一级菜单
b = a.get(choose1)
while T:
for key2 in b:
c = b.get(key2)
list3.append(key2)
for number in c:
price = c.get(number) #number剩余数量,price 商品价钱
item_price[key2] = price#商品和对应的价钱放入字典中
print (‘%s is $%s left %s‘ % (key2, item_price[key2], number))
# 选择退出,返回上一级菜单 或者第一个菜单
choose2 = input(‘What do you want to buy? n = quit,b = back.‘)
if choose2 == ‘n‘:
exit(‘Bye!‘)
elif choose2 == ‘b‘:
break
elif choose2 in list3:
quantity = int(input(‘Please choose quantity‘))
if quantity <=number: #检查购买数量是否大于存货量
if choose2 in shopping_list:
local = shopping_list.index(choose2)
quantity = int(quantity) + int(shopping_list[local+2])
goods_price = (quantity * item_price[choose2])
shopping_list.pop(local+1)
shopping_list.pop(local+1)
shopping_list.insert(local+1, goods_price)
shopping_list.insert(local+2, quantity) #物品数量放入购物名单中
else:
shopping_list.append(choose2)
goods_price = (quantity * item_price[choose2])
shopping_list.append(goods_price)
shopping_list.append(quantity) # 物品数量放入购物名单中
shop_thing = shopping_list[::3]
shop_num = shopping_list[2::3]
print(‘Shopping list has:‘)
ii = len(shop_thing)
for item in range(ii): # 输出购买名单
print (‘%s has %s‘% (shop_thing[item], shop_num[item]))
last = input(‘Goods have been put in shopping_list, what do you want to do? ‘
‘c = check out, q = quit, o = other thing I want to buy.‘)
if last == ‘c‘:
#计算总数
total_price = 0
for h in range(len(shop_thing)):
total_price += goods_price
print(‘Total price is %s, your balance is %s‘ % (total_price, balance))
while T:
if total_price> int(balance): # 检查余额是否足够
out = input(‘Balance is not enough,do you want to rechange? y =yes,‘
‘q = quit‘)
if out == ‘y‘:
recharge = input(‘How much do you recharge‘) # 余额不足,需要充值
if int(recharge) and int(recharge)>0:
balance = int(balance) + int(recharge)
else:
one_more = input(‘Invalid value, any key = please again, q = quit.‘)
if one_more == ‘q‘:
exit()
elif out == ‘q‘:
exit()
else:
balance = int(balance) - total_price # 计算总价,余额,输出购买清单
shopping_list[-1] = balance
print (‘This you shopping list‘.center(40,‘*‘))
aa = len(shop_thing)
for item1 in range(aa):
print (‘%s: %s‘% (shop_thing[item1], shop_num[item1]))
print (‘Total price is %s, balance is %s‘ % (total_price, balance))
end = ‘Thank you, please come again‘.center(40, ‘*‘)
print (end)
if count == 0: # 购买的历史信息写入文件
f = open(‘shopping.txt‘, ‘a‘) #这次购买物品放入文本中
msg = ‘\n%s,%s,%s\n‘ % (name, balance, password)
f.write(msg)
f.close()
exit()
else:
for cc in ff:
bb = cc.split(‘,‘) # 分成不同列表
dd = type(bb)
if bb[0] == name:
bb[1] = str(balance)
ee = ‘,‘.join(bb).strip()
lse.append(ee)
ss = ‘\n‘.join(lse)
f = open(‘shopping.txt‘, ‘w‘) #这次购买物品放入文本中
f.write(ss)
f.close()
exit()
elif last == ‘q‘:
exit()
elif last == ‘o‘:
continue
else:
print (‘Yout choose is over the choose, please choose again‘)
else:
print (‘Quantity is over, please choose again‘)
else:
print (‘Yout choose is over the choose, please choose again‘)
else:
print(‘Sorry, your choose not in list! Please choose again‘)
else:
print(‘Sorry, your choose not in list! Please choose again‘)
标签:append pop net 技术 用户信息 sony back oca local
原文地址:http://www.cnblogs.com/nikitapp/p/5983635.html