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

購物程序練習

lis one rate image 顯示 ftime sele strftime 分享圖片

技術分享圖片

import time

#商品列表,采用列表嵌套元祖方式
goods_list=[
    (水杯,25),
(牙刷,15),
(手機,3500),
(耳機,100),
]

#建立購物清單列表,備存購物清單
shop_list=[]
#輸入工資總額
money=input(請輸入購物金額:)
#判斷輸入的工資是不是由數字組成,如果是,轉換為整數型,如果不是,打印出錯了!

if money.isdigit():
    money=int(money)

#循環
    while True:
         #index及enumerate的使用,打印商品列表及序號
        for
index,i in enumerate(goods_list): # 用戶輸入商品序號 print(index,i) # 判斷用戶輸入的是不是數字類型,如果是,轉換為整數型 usr_select = input(請輸入您要購買商品序號:) if usr_select.isdigit(): usr_select = int(usr_select) # 檢測用戶輸入的數字是否小於商品列表及大於等於0 if usr_select<len(goods_list)or
usr_select>=0: #定義用戶選擇的商品 select_goods=goods_list[usr_select] #檢測如果用戶選擇的商品,價格小於等於工資,判斷為買的起 if select_goods[1]<=money: # 向用戶選擇商品清單增加當前選擇商品 shop_list.append(select_goods) #
扣減當前購買商品的金額 money-=select_goods[1] #打印購買當前商品成功,並顯示當前余額 print(購買%s成功,您的余額為%d.%(select_goods[0],money)) #如果當選擇商品金額大於余額,則打印當前余額 elif select_goods[1]>money: print(您的余額只有%d,快去賺錢!%money) #如果輸入的序號不存在,提示當前輸入的序號錯誤, else: print(您輸入的序號%s,不存在!請重新輸入%usr_select) #如果用戶輸入Q 打印購物清單及余額,退出 elif usr_select==q: print(-----------購物清單-----------) for P in shop_list: print(P) print(您的余額是%s%money) print t=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print(t) exit() #輸入不是數字類型的,直接報錯 elif money.isalpha(): print(您輸入的不是數字!)

知識點:

1.判斷變量類型:money.isdigit(): 是不是數字型 or money.isalpha 是不是字母型

2.enumerate,在for中應用

enumerate(sequence, [start=0])
>>>seq = [one, two, three]
>>> for i, element in enumerate(seq):
...     print i, seq[i]
... 
0 one
1 two
2 three

3.len 返回字符串,列表,元組,字典長度值 從0計。

4.append 向列表 字典中增加值,位置在最後

5.打印清單,使用for

for i in shop_list
    print(i)

可以將清單中內容打印出來

6.導入time模塊 獲取當前時間為:tim.strftime("%Y-%m-%d %H:%M:%S",time.localtime)

百分號後註意大小寫

7.退出可以用exit()

總結:第一次寫代碼,按示例 先標明註釋,再刪掉代碼,全部自己寫,還是出現很多問題:

購物程序練習