1. 程式人生 > >時隔半年再寫購物車程序並改進

時隔半年再寫購物車程序並改進

之前 默認 dex 判斷字符串 input 跟著 包含 在哪裏 pin

時隔了半年時間,重新把購物車程序拿出來再寫一遍,感覺對於循環語句比之前熟悉多了,腦子裏面開始有程序流程圖,之前懵懵懂懂地跟著老師來寫,現在基本可以自己寫,自己判斷問題出在哪裏了。

這段程序沒用pycharm來寫,直接用NOTEPAD++,感覺還很不錯,昨天調試了NOTEPAD++運行python的環境,簡單輕度的程序都可以試著用這個寫了。界面還是很漂亮的。

技術分享圖片


編程要求和編程日誌思考:

1、寫一段商城程購物車序的代碼
2、用列表把商城的商品清單存儲下來
(1)不能用字典,因為字典無法用序列號打印,用列表中存儲元祖的方式。
(2)存到列表 shopping_mail,打印購物車的序列號及表單內容,用enumerate()函數,學習一下使用enumerate()函數。

//
enumerate是翻譯過來是枚舉的意思,看下它的方法原型:
enumerate(sequence, start=0),返回一個枚舉對象。sequence必須是序列或叠代器iterator,或者支持叠代的對象。
enumerate()返回對象的每個元素都是一個元組,每個元組包括兩個值,一個是計數,一個是sequence的值,計數是從start開始的,start默認為0。
//

3、購物車的列表為shopping_cart

4、用戶首先輸入工資金額,判斷輸入為數字
(1)判斷輸入是否是數字需要使用.isdigit()方法(判斷字符串是否只由數字組成)
例如:
//
str = "123456"
print str.isdigit()

結果:TRUE
str = "this is string example....wow!!!"
print str.isdigit()
結果:FALSE
//

//
While Ture:語句的運算速度比While 1:運算速度要慢,所以盡量while true都用 while 1:來寫
同時,if x==ture的運算速度比 if x:慢,所以盡量用if x:來替代。
//

5、用戶從商城購物清單中選擇購買物品,每次購買成功就用工資減去物品單價
6、判斷用戶金額是否足夠,不足夠提示用戶
//
(1)shopping_mail是一個表格內嵌了元祖,購物車shopping_cart是一個空表格
(2)choice是選擇的數值,可以根據購物清單上的序列號來進行選擇。這個簡化了購物流程。需要判斷choice必須是在0和len(shopping_mail)之間,否則就會出錯

(3)p_item是choice這個數值所代表的商品,p_item實際上是一個元祖,比如(‘Iphone‘,5800),p_item[0]對應名稱,p_item[1]對應數值。
(4)如果直接把元祖p_item與工資進行對比,計算機會報錯,因為元祖裏面包含2個元素
//
7、如果用戶不想再繼續購物,則按Q鍵退出菜單
8、用戶退出之後,將用戶購買的清單打印出來。
9、盡量學習帶顏色輸出幾個重點信息字符。

//

(1)字符串*數值可以用來控制空格,橫杠等。
(2)/n是回車;/t是類似TAB鍵

//

 1 space="-"*25
 2 shopping_cart=[]
 3 shopping_mail= [
 4     (Iphone,5800),
 5     (Mac Pro,9800),
 6     (Bike,800),
 7     (Watch,10600),
 8     (Coffee,31),
 9     (Alex Python,120),
10 ]
11 salary=input("請輸入您的工資金額:")
12 if salary.isdigit()==True:
13     salary=int(salary)
14 while 1:
15     for i in shopping_mail:
16         print(space)
17         print(shopping_mail.index(i),i)
18         print(space)
19     choice=input("請輸入您選擇的商品序號: ")
20     if choice.isdigit():
21         choice=int(choice)
22         if choice>-1 and choice<len(shopping_mail):
23             p_item=shopping_mail[choice]
24             if p_item[1]<=salary:
25                 shopping_cart.append(p_item)
26                 salary=salary-p_item[1]
27                 print("\n您選購的商品是:{}".format(p_item))
28                 print("\n您的工資余額是:{}\n".format(salary))
29             else:
30                 print ("\n您的余額不足\n")
31     elif choice==q:
32         print("\n您本次購買的商品是:{}".format(shopping_cart))
33         print("\n您的工資余額為:{}".format(salary))
34         break
35 
36     else:
37         print("輸入錯誤,只能輸入商品序列號相關數字!")
38 
39 else:
40     print("輸入錯誤,只能輸入數字!")

時隔半年再寫購物車程序並改進