天天看點

python購物車代碼_python_購物車代碼的分解及全部代碼

購物車代碼,一步一步進行(編寫代碼的過程,就是一個一步一步遞進式的思考)

如下:

第一步,實作與使用者互動以及答應可購物的清單

python購物車代碼_python_購物車代碼的分解及全部代碼

對于上一步有一個缺點就是列印出倆的購物清單是一個元祖,使用者看起來并不友善,而且沒有編号,首先我們實作如何讓使用者看起來好看

1 product_list=[2 ('book',100),3 ('Mac Pro',9000),4 ('watch',500),5 ('coffee',30),6 ('Python',106),]7 saving=input('input your money:')8 ifsaving.isdigit():9 saving=int(saving)10 for i inproduct_list:11 print(i)

輸出結果:

C:\Users\lenovo\PycharmProjects\fullstack\venv\Scripts\python.exe C:/Users/lenovo/PycharmProjects/fullstack/week1/day6/shopping.py

input your money:123

('book', 100)

('Mac Pro', 9000)

('watch', 500)

('coffee', 30)

('Python', 106)

Process finished with exit code 0

然後我們進行編号:

方法一:

python購物車代碼_python_購物車代碼的分解及全部代碼

方法二:

python購物車代碼_python_購物車代碼的分解及全部代碼
python購物車代碼_python_購物車代碼的分解及全部代碼
python購物車代碼_python_購物車代碼的分解及全部代碼

對于上面給使用者呈現出來的是一個原則的形式,但是并不好看,我們不想讓它以元祖的形式出現,那麼:

python購物車代碼_python_購物車代碼的分解及全部代碼

知識點:

清單:

a,b=[2,3]

print(a)

print(b)

2

3

元祖;一樣的道理

python購物車代碼_python_購物車代碼的分解及全部代碼

思路清理,進行一個簡短的代碼思路清理,然後對其補充修改

python購物車代碼_python_購物車代碼的分解及全部代碼
python購物車代碼_python_購物車代碼的分解及全部代碼
python購物車代碼_python_購物車代碼的分解及全部代碼

通過輸出我們可以得知p_item是一個元祖('mac pro', 9000) 它的價位在第二個位置,對于元祖來說就是1

是以:

python購物車代碼_python_購物車代碼的分解及全部代碼

然後建立一個空清單,充當購物車,買了什麼東西放到空清單裡面:

python購物車代碼_python_購物車代碼的分解及全部代碼

對q進行修飾

python購物車代碼_python_購物車代碼的分解及全部代碼

完整的代碼:

1 #_author:"Xia liu"

2 #data:2020/2/11

3 product_list=[('book',100),('Mac Pro',9000),('watch',500),('coffee',30),('Python',106)]4 saving=input('input your money:')5 shopping_car=[]6 ifsaving.isdigit():7 saving=int(saving)8 whileTrue:9 for i,v in enumerate (product_list,1):10 print(i,v)11 choice = input('選擇購買商品編号[退出:q]:')12 ifchoice.isdigit():13 choice =int(choice)14 if choice > 0 and choice

20 else:21 print('餘額不足,還剩%s'%saving)22 print(p_item)23 else:24 print('編碼不存在')25 elif choice=="q":26 print('---------您已經購買如下商品-----------') #如果想退出

27 for i inshopping_car:28 print(i)29 print('您的餘額為%s元' %saving)30 break

31 else:32 print("invalid input")33 else:34 print('編碼不存在')