这是一个购物车功能,具备判断商品展示和用户余额是否足以购买商品功能,购买商品后显示已购买的物品并给出余额提示。
未加异常情况判断,在使用时记得添加异常情况判断。
1、第一种方法,使用字典完成。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Li Rong Yang
commodity = {'Electric appliance':{
'Iphone':'5699','televison':'2300','computer':'2000'},
'Fruits':{
'cherry':'100','strawberry':'20','blueberry':'36'},
'Kid toy':{
'cats':'5000','giraffe':'3600','elephant':'3000'}
}
shopping_card_list = []
salary = int(input("Please enter your salary: "))#提示用户输入
while True:
print("----------- Product list ----------")
_index_count = 0
for cd in commodity.keys():#打印商品类型
_index_count += 1
print(str(_index_count) + ' ' + cd )
print('')
user_select_tepy = input("Please enter the type of item you want to buy.")#提示用户选择要购物商品类型
_index_count = 0
print("----------- Product list ----------")
for product_name,producr_price in commodity[user_select_tepy].items():#打印商品类型中有哪些产品
_index_count += 1
print(str(_index_count) + " " + product_name + " " + producr_price + '¥')
user_select_product = input('Please select the item you want to buy.')#让用户选择购买的产品
if salary - int(commodity[user_select_tepy][user_select_product]) >0:#判断用户的工资是否大于产品价格
print('')
salary = salary- int(commodity[user_select_tepy][user_select_product])
print('Your bank card still has a balance {balance}'.format(balance = salary))
shopping_card_list.append(user_select_product)
print('----------- Shopping card list -----------')
_index_count = 0
for SCL in shopping_card_list:
_index_count += 1
print(str(_index_count) + ' ' + SCL)
print('')
else:
print('Your bank card balance is insufficient !!!')
2、第二种方法,使用列表+元组完成
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Li Rong Yang
product_list = [
('Iphone',5800),
('Mac Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',31),
('Alex Python',120),
]
shopping_list = []
salary = input("Input your salary:")
if salary.isdigit():
salary = int(salary)
while True:
for index,item in enumerate(product_list):
#print(product_list.index(item),item)
print(index,item)
user_choice = input("选择要买嘛?>>>:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(product_list) and user_choice >=0:
p_item = product_list[user_choice]
if p_item[1] <= salary: #买的起
shopping_list.append(p_item)
salary -= p_item[1]
print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary) )
else:
print("\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[0m" % salary)
else:
print("product code [%s] is not exist!"% user_choice)
elif user_choice == 'q':
print("--------shopping list------")
for p in shopping_list:
print(p)
print("Your current balance:",salary)
exit()
else:
print("invalid option")