天天看點

Python購物車練習

要求:

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

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

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

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

python代碼:

<code>#定義商品清單</code>

<code>shopping </code><code>=</code> <code>{</code>

<code>    </code><code>1</code><code>:[</code><code>"手機"</code><code>,</code><code>1000</code><code>],</code>

<code>    </code><code>2</code><code>:[</code><code>"電腦"</code><code>,</code><code>4000</code><code>],</code>

<code>    </code><code>3</code><code>:[</code><code>"平闆"</code><code>,</code><code>3000</code><code>]</code>

<code>}</code>

<code>#while循環 判斷 使用者輸入的工資是否是整數,而并不是字母或者其他。</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>#判斷輸入的是否是整數</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># 用于存儲臨時購買商品的清單</code>

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

<code>        </code><code>#定義不斷購買的一個循環過程</code>

<code>        </code><code>while</code> <code>True</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>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>goumai </code><code>=</code> <code>input</code><code>(</code><code>"請輸入你要購買商品的序号:[按q退出]"</code><code>)</code>

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

<code>                </code><code>goumai1 </code><code>=</code> <code>int</code><code>(goumai)</code>

<code>                </code><code>#如果購買商品的價格小于等于使用者的工資,就把商品加入臨時購買商品的清單,并列印餘額。</code>

<code>                </code><code>if</code> <code>shopping[goumai1][</code><code>1</code><code>] &lt;</code><code>=</code> <code>gongzi:</code>

<code>                    </code><code>#下面 把商品的序号、商品名稱、商品價格 加入到一個商品元組裡邊</code>

<code>                    </code><code>goumai_list </code><code>=</code> <code>goumai1,shopping[goumai1][</code><code>0</code><code>],shopping[goumai1][</code><code>1</code><code>]</code>

<code>                    </code><code>#講商品元組追加到臨時購買的商品清單裡;</code>

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

<code>                    </code><code>#計算使用者的餘額=使用者登入時輸入的工資-購買商品的價格</code>

<code>                    </code><code>gongzi </code><code>=</code> <code>gongzi </code><code>-</code> <code>shopping[goumai1][</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>continue</code>

<code>                </code><code>print</code><code>(</code><code>"餘額不足,目前餘額{0}$"</code><code>.</code><code>format</code><code>(gongzi))</code>

<code>            </code><code>elif</code> <code>goumai </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>name </code><code>=</code> <code>""</code>

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

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

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

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

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

<code>                </code><code>print</code><code>(</code><code>"&gt;&gt;&gt;輸入錯誤!"</code><code>)</code>

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

<code>        </code><code>print</code><code>(</code><code>"&gt;&gt;&gt;輸入錯誤!"</code><code>)</code>

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