#商品列表,採用列表巢狀元祖方式
goods_list=[
('水杯
',25),('
牙刷',15),('
手機',3500),('
耳機',100),]#
建立購物清單列表,備存購物清單
shop_list=
#輸入工資總額
money=input('
請輸入購物金額:')
#判斷輸入的工資是不是由數字組成,如果是,轉換為整數型,如果不是,列印出錯了!
ifmoney.isdigit():
money=int(money)#迴圈
while
true:
#index及enumerate的使用,列印商品列表及序號
for index,i in
enumerate(goods_list):
#使用者輸入商品序號
(index,i)
#判斷使用者輸入的是不是數字型別,如果是,轉換為整數型
usr_select = input('
請輸入您要購買商品序號:')
ifusr_select.isdigit():
usr_select =int(usr_select)
#檢測使用者輸入的數字是否小於商品列表及大於等於0
if usr_selector usr_select>=0:
#定義使用者選擇的商品
select_goods=goods_list[usr_select]
#檢測如果使用者選擇的商品,**小於等於工資,判斷為買的起
if select_goods[1]<=money:
#向使用者選擇商品清單增加當前選擇商品
#扣減當前購買商品的金額
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:
(p)
print('
您的餘額是%s
'%money)
t=time.strftime("
%y-%m-%d %h:%m:%s
", time.localtime())
(t) exit()
#輸入不是數字型別的,直接報錯
elif
money.isalpha():
print('
您輸入的不是數字!
')知識點:
1.判斷變數型別:money.isdigit(): 是不是數字型 or money.isalpha 是不是字母型
2.enumerate,在for中應用
enumerate(sequence,[start=0])
>>>seq = ['3.len 返回字串,列表,元組,字典長度值 從0計。one', '
two', '
three']
>>> for i, element in
enumerate(seq):
...
i, seq[i]
...
0 one
1two
2 three
5.列印清單,使用for
for i in可以將清單中內容列印出來shop_list
print(i)
6.匯入time模組 獲取當前時間為:tim.strftime("%y-%m-%d %h:%m:%s",time.localtime)
百分號後注意大小寫
7.退出可以用exit()
總結:第一次寫**,按示例 先標明注釋,再刪掉**,全部自己寫,還是出現很多問題:
程式設計練習 購物車程式開發
根據以下資料結構 goods 實現功能要求 1 啟動程式後,讓使用者輸入工資,然後進入迴圈,列印商品列表和編號 2 允許使用者根據商品編號選擇商品 3 使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,並加入購物車,不夠就提醒餘額不足 4 可隨時退出,退出時,列印已購買商品和餘額 salary int...
Python練習 01 購物車程式
今天練習做乙個購物車的小程式要求 1 啟動後輸入使用者的工資,並列印商品列表 2 允許使用者通過商品編碼購買食品 3 使用者選擇商品後 檢測餘額是否足夠,不夠就提醒 4 可以隨時按 q 退出,退出時列印已經購買了的商品,並計算已購買商品的總額 首先通過分析要求,要有乙個編寫流程與注意事項 1 輸入工...
python元組與購物車程式練習
需求 啟動程式後,讓使用者輸入工資,然後列印商品列表 允許使用者根據商品編號購買商品 使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒 可隨時退出,退出時,列印已購買商品和餘額 salary input 請輸入工資 if salary.isdigit 目標是否為十進位制數字 salary ...