码迷,mamicode.com
首页 > 编程语言 > 详细

python作业3:购物车程序

时间:2018-01-10 14:06:15      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:cos   iphone   ice   ==   直接   错误   gpo   需要   class   

#作业3:购物车程序
#启动程序后,让用户输入工资,然后打印商品列表
#允许用户根据商品编号购买商品
#用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
#用户可以一直购买商品,也可以随时退出,退出时,打印已经购买的商品和余额


# 思路.part1
# 要用到格式化输出
# 要用到循环
# 先弄一个商品列表,索引号对应商品
# 再弄一个商品字典,商品对应价格
# 点评想法:
# 一个列表一个字典,变动不方便,且关联不方便,应该用一个列表存一堆元组
# 不需要用到格式化输出,直接打印列表即可
# 还需要创建一个空列表,保存已经选过的元素
#
# 思路.part2
# 输入工资
# 输入选项
# 如果是数字
# 检测余额,扣款
# 否则提醒,直到余额不够一直提醒
# 如果是退出,
# 退出
# 否则报错
# 点评想法:
# 输入的工资需要判断是否为数字
# 输入的选项也需要判断是否为数字或Quit
# 条件判断的嵌套很关键,在哪里开启?看终止行,从终止行倒推
# 如果一开始就输入错误,那么就需要立即终止,所以要从第一次输入判断开始

# 思路.part3
# 设置一个判断位,用来控制while循环何时中断
# 设置一个花费值,用来存你花了多少钱
# 需要判断输入的数字是否超出范围


item_list = [(‘iphone‘,6800),(‘swatch‘,1000),(‘book‘,40),(‘apple‘,10),(‘radio‘,500)]
your_list = []
your_cost = 0

salary = input("Please input your salary:\n")
if salary.isdigit():
salary = int(salary)
judge = True
while judge:
print("The Item list is:")
for index,item in enumerate(item_list):
print (index+1,item)
your_choice = input("Please input your choice(q):\n")
if your_choice.isdigit():
your_choice = int(your_choice)
if your_choice <= len(item_list):
your_choice = int(your_choice) - 1
if salary >= item_list[your_choice][1]:
salary -= item_list[your_choice][1]
your_cost += item_list[your_choice][1]
your_list.append(item_list[your_choice])
print(‘‘‘You have %d left‘‘‘%(salary))
print("Your choice is :")
for index, item in enumerate(your_list):
print(index + 1, item)
else:
print("Your money is no enough.")
print(‘‘‘You have %d left‘‘‘ % (salary))
else:
print("Invalid Input.Out of range")
elif your_choice == "q" or "Q":
print("Thank you for your choice.")
print(‘‘‘Your cost is %d‘‘‘%(your_cost))
judge = False
else:
print("Invalid Input")
else:
print("Invalid Input")

python作业3:购物车程序

标签:cos   iphone   ice   ==   直接   错误   gpo   需要   class   

原文地址:https://www.cnblogs.com/welljoy/p/8257590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!