流程图
实现方式
#!/usr/bin/python3
__author__ = 'beimenchuixue'
__blog__ = 'http://www.cnblogs.com/2bjiujiu/'
def shopping_car(shopping_message):
shopping_list = [] # 定义购物车
ex = 'q' # 推出指令
while True: # 一直检查用户输入是否合法,不合法让其重新输入
try:
saving = int(input('小伙子,请输入你的工资:'))
except Exception as e:
print(e)
print('小伙子,别乱,乱来啊,我紧告你')
continue
else:
break
if saving <= 0: # 判断是否有工资
exit('没钱来干啥啊')
else:
print('按q退出选购') # 打印退出提示
while True:
for i in shopping_message: # 打印商品
print(shopping_message.index(i), i)
choice = input('请输入想选择商品的编号:')
if choice == ex: # 退出判断
break
else:
try: # 判断用户选择的商品是否在商品中
choice = int(choice)
shopping\_message\[choice\]
except Exception as e:
print(e)
print('小伙子,这么年轻眼力就不行了?在输入一次:')
continue
else:
if shopping\_message\[choice\]\[1\] < saving: # 判断用户工资是否大于商品
print(shopping\_message\[choice\]) # 打印选择成功的商品
shopping\_list.append(shopping\_message\[choice\]\[0\]) # 吧商品加入购物车
saving -= shopping\_message\[choice\]\[1\] # 结算余额
print('余额', saving)
else:
print('小伙子你工资少了点了,买点便宜点的吧')
for i in shopping\_list: # 退出时候打印购买商品
print(i)
print('余额', saving) # 打印余额
if __name__ == '__main__':
# 初始化商品列表
shopping_message = [['iphone', 5800], ['mx6', 2000], ['pythonbook', 80], ['surface', 12000], ['coffee', 33]]
shopping_car(shopping_message)
总结点:
1. 流程图可以帮我更快的弄清编程逻辑先后顺序
2. 考虑商品列表是动态,可以增加或者删减
3. 考虑用户输入的合法性
4. 考虑用户输入是否重复输入
5. 记录用户选择的商品并提示还剩余额
6. 用户退出,打印用户选择好的商品信息与余额
手机扫一扫
移动阅读更方便
你可能感兴趣的文章