購物程序練習
阿新 • • 發佈:2017-12-24
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的使用,打印商品列表及序號 forindex,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)orusr_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()
總結:第一次寫代碼,按示例 先標明註釋,再刪掉代碼,全部自己寫,還是出現很多問題:
購物程序練習