1. 程式人生 > >程序練習2:購物車程序

程序練習2:購物車程序

odin post 電視 odi 到你 轉化 是否為數字 env col

程序練習2:購物車程序

需求:

  1. 啟動程序後,讓用戶輸入工資,然後打印商品列表
  2. 允許用戶根據商品編號購買商品
  3. 用戶選擇商品後,檢測余額是否夠,夠就直接扣款,不夠就提醒
  4. 可隨時退出,退出時,打印已購買商品和余額
 1 #! /usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # Author : Orange   2018-01-29
 4 # 購物車程序
 5 
 6 #商品應該使用列表來存儲,這是一個動態變化的量
 7 goods_list = [
 8             ("大米",100),
 9             ("",80),
10             ("
",200), 11 ("衣服",300), 12 ("電視機",3000), 13 ("手機",2000), 14 ("硬盤",800), 15 ] 16 shopping_cart = [] #新建一個空的購物車列表,用於儲存用戶的選擇 17 salary = input("輸入你的工資:") 18 #判斷輸入的是否為數字形式,如果是,將字符串轉化為數字 19 if salary.isdigit(): 20 salary = int(salary) 21 22 while True: 23 #
取出商品對應的下標,打印下標並打印商品列表 24 25 for item in goods_list: 26 print(goods_list.index(item),item) 27 28 ‘‘‘#上面的語句相當於----》 29 #for index,item in enumerate(goods_list): 30 # print(index,item) 31 ‘‘‘ 32 user_choice = input("請選擇購買商品編號>>>:
") 33 34 if user_choice.isdigit(): 35 user_choice = int(user_choice) 36 # 判斷用戶輸入是否在商品列表範圍內,len(goods_list) 得到該列表的長度 37 if user_choice < len(goods_list) and user_choice >= 0 : 38 # 將用戶選擇的商品 取出來,存在p_item 元組中,通過下標,從而得到商品和對應的價格 39 p_item = goods_list[user_choice] 40 # 判斷所選商品價格是否低於用戶工資---》買的起 41 if p_item[1] <= salary: 42 shopping_cart.append(p_item) #將所選商品加入購物車 43 salary -= p_item[1] # 從工資(帳戶余額)中減去所選商品價格 ,自減的應用,該方法可實現每次減不同的數值! 44 print("加入 %s 到你的購物車,你的帳戶余額是\033[31;1m%s\033[0m,按q或Q退出購買"%(p_item,salary)) 45 #print(type(p_item)) #p_item 此時是一個元組 -----> tuple, 因為含有2項:商品名稱和價格 46 else: 47 print("余額只剩%s , 請選擇其它商品或按q退出" % salary) 48 else: 49 print("商品%s不存在" % user_choice) 50 51 elif user_choice == "q" or "Q": #選擇q退出,並打印購買列表和帳戶余額 52 print("----------- 購物清單 ------------") 53 for i in shopping_cart: 54 print(i) 55 print("\033[31;1m你的帳戶余額是 :\033[0m" ,salary) 56 exit() 57 else: #不是數字不是q 的情況 58 print("非法輸入 !") 59 60 else: 61 print("請用數字輸入")

程序練習2:購物車程序