Python No.13 之练习(购物车)语句while、for、list等

Python No.13 之练习(购物车)语句while、for、list等[Python基础]


#练习,定义商品清单,客户输入余额(整数),选择商品后,扣除金额。

product_list = [
("iphone",5800),
("Mac_pro",9800),
("bike",800),
("coffee",30),
("Watch",10600),
("MingYW",10000),
]
shopping=[]
#定义两个变量,product_list:商品清单。shopping:购物清单。
salary = input("Input your Salary:")
#定义变量salary,用户金额。
count = 3
#定义变量count,为计算输入多次错误字符后,退出。


while count >0:
if salary.isdigit():
#判断字符是否为整数,或字符串可否转整数。
salary = int(salary)
#转int整数类型
while True:
for item in enumerate(product_list): #依次循环商品清单
#enumerate()显示列表的下标
#上句等于 for item in product_list:
#print (product_list.index(item),item)
print(item)
user_choice = input("需要的商品>>>")
#定义变量user_choice为用户选择的序号‘下标".
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(product_list) or user_choice >=0:
#len(product_list)检查product_list的长度为6。判断,比较。
p_item = product_list[user_choice]
#定义变量p_item为所选商品。
if p_item[1] <= salary:
#比较p_item下标1的数值,与salary用户余额
shopping.append(p_item)
#添加商品入变量p_item入shopping列表中
salary -=p_item[1]
#余额减p_item下标1的数值
print("添加 %s 加入购物车,你得余额为 33[31:1m%s33[0m"%(p_item,salary))
# 33[31:1m‘%s’33[0m ‘%s’改字体颜色为红色、加粗。
# 33[41:1m‘%s’33[0m ‘%s’改字体颜色为背景红色、加粗。
# 33[33:1m‘%s’33[0m ‘%s’改字体颜色为背景黄色、加粗。

else:print("33[31:1m你的余额不足,请重新输入!!33[0m")
else:print("你输入的有误!请重新输入。请按‘q’退出!")
elif user_choice == "q":
if len(shopping) == 0:
print ("你未购买商品!谢谢光临!")
print("你的余额:%s"%(salary))
exit ()
else:
print("你购买商品如下:")
for p in shopping:
print(p)
print("你的余额:%s"%(salary))
exit()
else:
print("你输入的有误!请重新输入,")
else:break
elif salary=="q":
print("感谢你得使用!")
exit()
else:
print("你输入的有误!请重新输入或者输入"q"退出!")
print("你剩余机会还有:",count,"次")
salary=input("请重新输入>>>")
count -= 1
#巡检次数减1
else:print("感谢你得使用!")
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Python No.13 之练习(购物车)语句while、for、list等