1. 程式人生 > >購物車程序新版

購物車程序新版

ber odin utf-8 lar 再次 inf 顯示 python swd

需求如下:
1、啟動程序後,輸入用戶名密碼後,如果是第一次登錄,讓用戶輸入工資
,然後打印商品列表
2、允許用戶根據商品編號購買商品
3、用戶選擇商品後,檢測余額是否夠,夠就直接扣款,不夠就提醒
4、可隨時退出,退出時,打印已購買商品和余額
5、在用戶使用過程中, 關鍵輸出,如余額,商品已加入購物車等消息,
需高亮顯示
6、用戶下一次登錄後,輸入用戶名密碼,直接回到上次的狀態,即上次消
費的余額什麽的還是那些,再次登錄可繼續購買
7、允許查詢之前的消費記錄

  1 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 # @Time    : 2017/9/17 13:02
4 # @Author : lichuan 5 # @File : file_test.py 6 7 8 9 ‘‘‘ 10 1、啟動程序後,輸入用戶名密碼後,如果是第一次登錄,讓用戶輸入工資 11 ,然後打印商品列表 12 2、允許用戶根據商品編號購買商品 13 3、用戶選擇商品後,檢測余額是否夠,夠就直接扣款,不夠就提醒 14 4、可隨時退出,退出時,打印已購買商品和余額 15 5、在用戶使用過程中, 關鍵輸出,如余額,商品已加入購物車等消息, 16 需高亮顯示 17 6、用戶下一次登錄後,輸入用戶名密碼,直接回到上次的狀態,即上次消 18
費的余額什麽的還是那些,再次登錄可繼續購買 19 7、允許查詢之前的消費記錄 20 ‘‘‘ 21 shop_list={ 22 apple : 7888, 23 xiaomi : 2000, 24 huawei : 2500, 25 meizu : 1800 26 } 27 28 FLAG_TAG=True 29 30 31 while FLAG_TAG: 32 user_name=input("please input your username:").strip() 33 passwd=input("please input your passwd:
").strip() 34 35 with open(a.txt,r,encoding=utf-8) as a_read,open(a.txt,r+,encoding=utf-8) as a_write: 36 for i in a_read: 37 #print(i) 38 # userinfo = {} 39 i=eval(i) 40 buy_list = {} 41 ago_buy_list=i["buy_list"] 42 43 if i["username"] == user_name and i[passwd] == passwd: 44 if len(i[buy_list]) != 0: 45 print("\033[1m 上次消費記錄: %s " % str(i["buy_list"]) +\033[0m ) 46 print("\033[1m salary: %d" % i[salary] + \033[0m) 47 while True: 48 if i[salary] == 0 : 49 s=input("please input your salary:").strip() 50 #如果不為數字或者數字為0,則重新輸入 51 if (not s.isdigit()) or int(s) == 0: 52 print("wrong input,try again!") 53 continue 54 55 i[salary]=int(s) 56 FLAG_TAG=False 57 58 #da==打印商品列表 59 count=0 60 buy=[] 61 for s in shop_list: 62 print("%d,%s %d" %(count,s,shop_list[s])) 63 buy.append(s) 64 count+=1 65 p=input("q==exit,please input your number:").strip() 66 67 if p == q: 68 FLAG_TAG=False 69 print("\033[1m salary: %d" % i[salary] + \033[0m) 70 print("\033[1m 已購買商品: %s " % str(buy_list) + \033[0m) 71 break 72 elif p.isdigit() and int(p) < count: 73 p=int(p) 74 if buy[p] in buy_list and i[salary] >= shop_list[buy[p]]: 75 buy_list[buy[p]]+=1 76 i[salary] = i[salary] - shop_list[buy[p]] 77 print("\033[1m salary: %d" % i[salary]+\033[0m) 78 print("\033[1m %s 已加入購物車" % buy[p]+\033[0m) 79 continue 80 elif i[salary] >= shop_list[buy[p]] : 81 buy_list[buy[p]]=1 82 i[salary]=i[salary]-shop_list[buy[p]] 83 print("\033[1m salary: %d" % i[salary]+\033[0m) 84 print("\033[1m %s 已加入購物車" % buy[p] + \033[0m) 85 else: 86 print("余額不足,請選擇別的商品!") 87 print("\033[1m salary: %d" % i[salary] +\033[0m) 88 continue 89 else: 90 print("wrong input , try again!") 91 continue 92 93 if len(buy_list) != 0: 94 ago_buy_list=buy_list 95 i[buy_list] = ago_buy_list 96 a_write.write(str(i)+\n) 97 98 #根據輸入判斷,用戶密碼錯誤且輸入不是‘q‘或者’g‘的,重新循環,輸入用戶名密碼 99 if FLAG_TAG: 100 print("username or passwd is wrong,try again please!") 101 c=input("q==exit,g=continue:").strip() 102 if c == q: 103 FLAG_TAG=False 104 break 105 elif c == g: 106 continue 107 108 109 # a_write.write(str(i)+‘\n‘) 110 111 # for wares in shop_list: 112 # print(wares) 113 FLAG_TAG=False

購物車程序新版