天天看點

python購物車-優化版本

要求一:

    1.啟動程式後,然該使用者輸入工資,然後列印商品清單

    2.允許使用者根據商品編号購買商品

    3.使用者選擇商品後,檢測餘額是否足夠,夠就直接扣款,不夠就提醒

    4.可随時退出,退出時,列印已購買商品和餘額

要求二:

    使用者輸入:

    1.商品資訊存在檔案裡

    2.已購商品,餘額記錄。

    商家輸入:

    1.可以添加商品,修改商品價格

要求三:

   将普通使用者登入和商家使用者登入 寫成兩個py檔案。

python普通使用者腳本

<code>#!/bin/bash/env python</code>

<code>#python3.x</code>

<code>'''</code>

<code>要求一:</code>

<code>    </code><code>1.啟動程式後,然該使用者輸入工資,然後列印商品清單</code>

<code>    </code><code>2.允許使用者根據商品編号購買商品</code>

<code>    </code><code>3.使用者選擇商品後,檢測餘額是否足夠,夠就直接扣款,不夠就提醒</code>

<code>    </code><code>4.可随時退出,退出時,列印已購買商品和餘額</code>

<code>要求二:</code>

<code>    </code><code>使用者輸入:</code>

<code>    </code><code>1.商品資訊存在檔案裡</code>

<code>    </code><code>2.已購商品,餘額記錄。</code>

<code>#擷取目前時間</code>

<code>import</code> <code>time</code>

<code>date </code><code>=</code> <code>time.strftime(</code><code>"%Y-%m-%d %H:%M:%S"</code><code>)</code>

<code>#讀取商品清單</code>

<code>f </code><code>=</code><code>open</code><code>(</code><code>"shangpin.txt"</code><code>,</code><code>"r"</code><code>)</code>

<code>wenzi </code><code>=</code> <code>f.readlines()</code>

<code>f.close()</code>

<code>#讀取使用者清單</code>

<code>f </code><code>=</code> <code>open</code><code>(</code><code>"yh.txt"</code><code>,</code><code>"r"</code><code>)</code>

<code>ff </code><code>=</code> <code>f.readlines()</code>

<code>zhanghu_list </code><code>=</code> <code>[]             </code><code>#清單用于臨時存儲 賬戶的名字;</code>

<code>zhanghu </code><code>=</code> <code>{}                  </code><code>#用于臨時存儲使用者和餘額 資訊;</code>

<code>shopping_list </code><code>=</code> <code>[]</code>

<code>#循環使用者名和餘額并指派給已定義好的 字典zhanghu ;</code>

<code>for</code> <code>i </code><code>in</code> <code>ff:</code>

<code>    </code><code>k,v </code><code>=</code> <code>i.strip().split(</code><code>" "</code><code>)      </code><code>#分别把賬戶和餘額 去換行和空格後 指派給 k v ;</code>

<code>    </code><code>zhanghu[k] </code><code>=</code> <code>v                  </code><code>#把key 和value 添加的字典zhanghu 裡邊 ;</code>

<code>shopping </code><code>=</code> <code>{}                              </code><code>#定義商品字典</code>

<code>#通過循環将讀取的商品序号、名稱、價格 添加到商品字典dict1裡邊</code>

<code>for</code> <code>i1 </code><code>in</code> <code>wenzi:</code>

<code>    </code><code>ff1 </code><code>=</code> <code>i1.strip(</code><code>"\n"</code><code>)</code>

<code>    </code><code>list1 </code><code>=</code> <code>list</code><code>(ff1.split(</code><code>" "</code><code>))</code>

<code>    </code><code>list2 </code><code>=</code> <code>[]                              </code><code>#open讀取商品後的清單</code>

<code>    </code><code>for</code> <code>i2 </code><code>in</code> <code>list1:</code>

<code>        </code><code>list2.append(list1[</code><code>1</code><code>])</code>

<code>        </code><code>list2.append(list1[</code><code>2</code><code>])</code>

<code>        </code><code>shopping[list1[</code><code>0</code><code>]] </code><code>=</code> <code>list2</code>

<code>        </code><code>break</code>

<code>yonghu </code><code>=</code> <code>input</code><code>(</code><code>"請輸入您的使用者名:"</code><code>)</code>

<code>#循環字典:zhanghu 裡邊的key ,也就是使用者清單,将值指派到 已定義好的使用者清單裡 zhanghu_list ;</code>

<code>for</code> <code>aa </code><code>in</code> <code>zhanghu.keys():</code>

<code>    </code><code>zhanghu_list.append(aa)</code>

<code>#判斷輸入的yonghu 是否在 已經存在的賬戶清單裡;</code>

<code>if</code> <code>yonghu </code><code>in</code> <code>zhanghu_list:          </code><code>#如果在輸入的賬戶在 已經存在的清單裡,列印您的餘額是多少 ;</code>

<code>    </code><code>print</code><code>(</code><code>"您的餘額是{0}$:"</code><code>.</code><code>format</code><code>(zhanghu[yonghu]))</code>

<code>    </code><code>print</code><code>(</code><code>"商品清單"</code><code>.center(</code><code>30</code><code>, </code><code>"="</code><code>))</code>

<code>    </code><code>for</code> <code>i2 </code><code>in</code> <code>shopping:</code>

<code>        </code><code>print</code><code>(i2, shopping[i2][</code><code>0</code><code>], shopping[i2][</code><code>1</code><code>])</code>

<code>else</code><code>:</code>

<code>    </code><code>zhanghu[yonghu] </code><code>=</code> <code>0</code>

<code>    </code><code>print</code><code>(</code><code>"添加新使用者!\n您的餘額是0$ !"</code><code>)</code>

<code>while</code> <code>True</code><code>:</code>

<code>    </code><code>chongzhi </code><code>=</code> <code>input</code><code>(</code><code>"您要充值嗎? y/n :"</code><code>)</code>

<code>    </code><code>if</code> <code>chongzhi </code><code>=</code><code>=</code> <code>"y"</code><code>:</code>

<code>        </code><code>while</code> <code>True</code><code>:</code>

<code>            </code><code>gongzi </code><code>=</code> <code>input</code><code>(</code><code>"請輸入您的工資:"</code><code>)</code>

<code>            </code><code>if</code> <code>gongzi.isdigit():</code>

<code>                </code><code>gongzi </code><code>=</code> <code>int</code><code>(gongzi) </code><code>+</code> <code>int</code><code>(zhanghu[yonghu])</code>

<code>                </code><code>print</code><code>(</code><code>"您的餘額是{0}$:"</code><code>.</code><code>format</code><code>(gongzi))</code>

<code>                </code><code>break</code>

<code>            </code><code>elif</code> <code>gongzi </code><code>=</code><code>=</code> <code>"q"</code><code>:</code>

<code>                </code><code>exit()</code>

<code>            </code><code>else</code><code>:</code>

<code>                </code><code>print</code><code>(</code><code>"輸入錯誤,請重新輸入"</code><code>)</code>

<code>    </code><code>elif</code> <code>chongzhi </code><code>=</code><code>=</code> <code>"n"</code><code>:</code>

<code>        </code><code>gongzi </code><code>=</code> <code>int</code><code>(zhanghu[yonghu])</code>

<code>    </code><code>else</code><code>:</code>

<code>        </code><code>print</code><code>(</code><code>"輸入錯誤,請重新輸入!"</code><code>)</code>

<code>    </code><code>choice </code><code>=</code> <code>input</code><code>(</code><code>"請輸入購買商品的編号:【按q退出】"</code><code>)</code>

<code>    </code><code>if</code> <code>choice.isdigit():</code>

<code>        </code><code>choice_1 </code><code>=</code> <code>int</code><code>(choice)</code>

<code>        </code><code># 如果使用者餘額大于選擇的商品的價格</code>

<code>        </code><code>if</code> <code>gongzi &gt;</code><code>=</code> <code>int</code><code>(shopping[choice][</code><code>1</code><code>]):</code>

<code>            </code><code>shopping_wupin </code><code>=</code> <code>[choice, shopping[choice][</code><code>0</code><code>], shopping[choice][</code><code>1</code><code>], date]</code>

<code>            </code><code>shopping_list.append(shopping_wupin)</code>

<code>            </code><code>gongzi </code><code>=</code> <code>gongzi </code><code>-</code> <code>int</code><code>(shopping[choice][</code><code>1</code><code>])</code>

<code>            </code><code>print</code><code>(</code><code>"您的餘額是:{0}$"</code><code>.</code><code>format</code><code>(gongzi))</code>

<code>        </code><code>else</code><code>:</code>

<code>            </code><code>print</code><code>(</code><code>"您的餘額不足!"</code><code>)</code>

<code>    </code><code>elif</code> <code>choice </code><code>=</code><code>=</code> <code>"q"</code><code>:</code>

<code>        </code><code>print</code><code>(</code><code>"您已購買以下商品"</code><code>.center(</code><code>30</code><code>, </code><code>"="</code><code>))</code>

<code>        </code><code>#打開使用者已購買檔案,講已購買的商品清單寫進去。</code>

<code>        </code><code>shangpin </code><code>=</code> <code>open</code><code>(</code><code>"yh-list.txt"</code><code>, </code><code>"a"</code><code>)</code>

<code>        </code><code>for</code> <code>i3 </code><code>in</code> <code>shopping_list:</code>

<code>            </code><code>print</code><code>(i3[</code><code>0</code><code>], i3[</code><code>1</code><code>], i3[</code><code>2</code><code>], i3[</code><code>3</code><code>])</code>

<code>            </code><code>shangpin.write(</code><code>"\n"</code><code>)</code>

<code>            </code><code>shangpin.write(yonghu)</code>

<code>            </code><code>shangpin.write(</code><code>" "</code><code>)</code>

<code>            </code><code>shangpin.write(i3[</code><code>0</code><code>])</code>

<code>            </code><code>shangpin.write(i3[</code><code>1</code><code>])</code>

<code>            </code><code>shangpin.write(i3[</code><code>2</code><code>])</code>

<code>            </code><code>shangpin.write(i3[</code><code>3</code><code>])</code>

<code>        </code><code>shangpin.close()</code>

<code>        </code><code>#打開使用者檔案,将使用者和使用者對應的餘額寫進去。</code>

<code>        </code><code>zhanghu[yonghu] </code><code>=</code> <code>gongzi</code>

<code>        </code><code>save </code><code>=</code> <code>open</code><code>(</code><code>"yh.txt"</code><code>,</code><code>"w"</code><code>)</code>

<code>        </code><code>for</code> <code>zhanghu_save </code><code>in</code> <code>zhanghu:</code>

<code>            </code><code>save.write(zhanghu_save)</code>

<code>            </code><code>save.write(</code><code>" "</code><code>)</code>

<code>            </code><code>save.write(</code><code>str</code><code>(zhanghu[zhanghu_save]))</code>

<code>            </code><code>save.write(</code><code>"\n"</code><code>)</code>

<code>        </code><code>save.close()</code>

<code>        </code><code>print</code><code>("</code><code>".center(38, "</code><code>-</code><code>"))</code>

<code>        </code><code>print</code><code>(</code><code>"您的餘額是:{yue}$"</code><code>.</code><code>format</code><code>(yue</code><code>=</code><code>gongzi))</code>

<code>        </code><code>exit()</code>

<code>        </code><code>print</code><code>(</code><code>"輸入錯誤,請重新輸入"</code><code>)</code>

python商家使用者腳本

<code>    </code><code>商家輸入:</code>

<code>    </code><code>1.可以添加商品,修改商品價格</code>

<code>for</code> <code>i </code><code>in</code> <code>wenzi:</code>

<code>    </code><code>ff </code><code>=</code> <code>i.strip(</code><code>"\n"</code><code>)</code>

<code>    </code><code>list1 </code><code>=</code> <code>list</code><code>(ff.split(</code><code>" "</code><code>))</code>

<code>    </code><code>print</code><code>(</code><code>"商品清單"</code><code>.center(</code><code>30</code><code>,</code><code>"="</code><code>))</code>

<code>    </code><code># print(shopping)</code>

<code>    </code><code>for</code> <code>i </code><code>in</code> <code>shopping:</code>

<code>        </code><code>print</code><code>(i,shopping[i][</code><code>0</code><code>],shopping[i][</code><code>1</code><code>])</code>

<code>    </code><code>print</code><code>("</code><code>".center(34,"</code><code>-</code><code>"))</code>

<code>    </code><code>change </code><code>=</code> <code>input</code><code>(</code><code>"你要添加産品/修改産品:添加産品輸入:1  修改産品輸入:2 [按q退出]:"</code><code>)</code>

<code>    </code><code>if</code> <code>change </code><code>=</code><code>=</code> <code>"1"</code><code>:</code>

<code>        </code><code>num </code><code>=</code> <code>input</code><code>(</code><code>"請輸入産品序号:[例如:1]:"</code><code>)</code>

<code>        </code><code>name </code><code>=</code> <code>input</code><code>(</code><code>"請輸入商品名稱:[例如:自行車]:"</code><code>)</code>

<code>        </code><code>price </code><code>=</code> <code>input</code><code>(</code><code>"請輸入商品價格:[例如:1000]:"</code><code>)</code>

<code>        </code><code>list3 </code><code>=</code> <code>[]</code>

<code>        </code><code>list3.append(name)</code>

<code>        </code><code>list3.append(price)</code>

<code>        </code><code>shopping[num] </code><code>=</code> <code>list3</code>

<code>        </code><code>print</code><code>(shopping)</code>

<code>    </code><code>elif</code> <code>change </code><code>=</code><code>=</code> <code>"2"</code><code>:</code>

<code>        </code><code>num2 </code><code>=</code> <code>input</code><code>(</code><code>"請輸入要修改的商品序号:[例:1]:"</code><code>)</code>

<code>        </code><code>name2 </code><code>=</code> <code>input</code><code>(</code><code>"您要修改商品名稱嗎? y/n:"</code><code>)</code>

<code>        </code><code>if</code> <code>name2 </code><code>=</code><code>=</code> <code>"y"</code><code>:</code>

<code>            </code><code>change2 </code><code>=</code> <code>input</code><code>(</code><code>"請輸入修改後的商品名稱:[例:電視]:"</code><code>)</code>

<code>            </code><code>shopping[num2][</code><code>0</code><code>] </code><code>=</code> <code>change2</code>

<code>        </code><code>elif</code> <code>name2 </code><code>=</code><code>=</code> <code>"n"</code><code>:</code>

<code>            </code><code>pass</code>

<code>            </code><code>print</code><code>(</code><code>"輸入錯誤,請重新輸入!"</code><code>)</code>

<code>        </code><code>change3 </code><code>=</code> <code>input</code><code>(</code><code>"您要修改商品價格嗎? y/n:"</code><code>)</code>

<code>        </code><code>if</code> <code>change3 </code><code>=</code><code>=</code> <code>"y"</code><code>:</code>

<code>            </code><code>change4 </code><code>=</code> <code>input</code><code>(</code><code>"請輸入修改後的商品價格:[例:1000]:"</code><code>)</code>

<code>            </code><code>shopping[num2][</code><code>1</code><code>] </code><code>=</code> <code>change4</code>

<code>            </code><code>print</code><code>(shopping)</code>

<code>        </code><code>save </code><code>=</code> <code>open</code><code>(</code><code>"shangpin.txt"</code><code>, </code><code>"w"</code><code>)</code>

<code>        </code><code>for</code> <code>iii </code><code>in</code> <code>shopping:</code>

<code>            </code><code>save.write(iii)</code>

<code>            </code><code>save.write(shopping[iii][</code><code>0</code><code>])</code>

<code>            </code><code>save.write(shopping[iii][</code><code>1</code><code>])</code>

<code></code>

     本文轉自506554897 51CTO部落格,原文連結:http://blog.51cto.com/506554897/1939657,如需轉載請自行聯系原作者