作業需求:
資料結構:goods = [,,
,,......
]功能要求:
基礎要求:
1、啟動程式後,輸入使用者名稱密碼後,讓使用者輸入工資,然後列印商品列表
2、允許使用者根據商品編號購買商品
3、使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒
4、可隨時退出,退出時,列印已購買商品和餘額
5、在使用者使用過程中, 關鍵輸出,如餘額,商品已加入購物車等訊息,需高亮顯示
擴充套件需求:
1、使用者下一次登入後,輸入使用者名稱密碼,直接回到上次的狀態,即上次消費的餘額什麼的還是那些,再次登入可繼續購買
2、允許查詢之前的消費記錄
踩分點:
基礎要求完成每條15分;擴充套件需求完成每條10分;
**結構足夠好,可以酌情加分。
**如下:
1import
os,pickle23
#定義高亮顯示函式
4def
highlight(p):
5print('
\033[1;31;47m%s\033[0m
'%p)
67 goods =[
8 ,9 ,
10 ,
11 ,12]
13#判斷並建立乙個消費記錄的檔案
14if
not os.path.isfile('
shopping_record'):
15 f = open('
shopping_record
','wb')
16f.close()
1718 usermsg = ['
zwj','
abc123']
19 bought = #
列表儲存已購買商品
20 highlight('
-----輸入編號以購買商品,如果要退出請輸入q,如果要查詢消費記錄請輸入c-----')
21while
true:22#
使用者登入
23 in_username = input("
請輸入使用者名稱:")
24 in_password = input("
請輸入密碼:")
25if in_username == usermsg[0] and in_password == usermsg[1]:
26 in_salary = int(input("
請輸入工資:"))
27while
true:
28for index,i in
enumerate(goods):
29print(index,i.get('
name
'),i.get('
price'))
30 choice = input('
請選擇要購買的商品編號(如果要退出,請輸入q):')
31#使用者選擇購買商品編號
32if choice in ['
0','
1','
2','3'
]:33
if in_salary >= int(goods[int(choice)].get('
price
')):
name'))
35 in_salary -= int(goods[int(choice)].get('
price'))
36else:37
print('
餘額不足,僅剩%s
' %in_salary)
38continue
3940
#使用者選擇退出
41elif choice.lower() == 'q'
:42highlight(bought)
43 highlight('
所剩餘額:%s
' %in_salary)
44 f = open('
shopping_record
','wb')
45pickle.dump(bought,f)
46pickle.dump(in_salary,f)
47f.close()
48exit()
4950
#使用者選擇查詢歷史購買記錄
51elif choice.lower() == 'c'
:52print('
------上次所買商品如下-------')
53 f = open('
shopping_record
','rb')
54 b =pickle.load(f)
55print
(b)56
print('
------接下來請繼續選擇-------')
57 f.close()
購物車程式
要求 1 啟動程式,讓使用者輸入工資,列印商品列表2 允許使用者根據商品序號購買商品3 使用者選擇商品後,檢測餘額是否足夠,夠則直接扣款,不夠提示餘額不足4 可隨時退出,退出時列印商品列表 product list mac 180 迪奧 300 阿瑪尼 490 shopping list salar...
購物車程式
作業需求 資料結構 goods 功能要求 基礎要求 1 啟動程式後,輸入使用者名稱密碼後,讓使用者輸入工資,然後列印商品列表 2 允許使用者根據商品編號購買商品 3 使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒 4 可隨時退出,退出時,列印已購買商品和餘額 5 在使用者使用過程中,關鍵...
購物車程式
goods from db username jason from db password 123 i 0 flag true while flag while i 3 username input 請輸入使用者名稱 password int input 請輸入密碼 if from db usern...