Python实现购物程序思路及代码
时间:2019-03-30
本文章向大家介绍Python实现购物程序思路及代码,主要包括Python实现购物程序思路及代码使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
要求:
启动程序后,让用户输入工资,然后打印出带有序号的商品列表
用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面
选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足
用户每购买一件商品后,或者输入 ' q ' 退出购买界面后,提示:是否继续购买?(Y/N),实现多次购买
若用户购买了商品,打印出购买的商品列表,总金额,余额;若用户没买任何商品,打印:交易结束,购物失败
Readme:
运行程序,输入薪水,根据商品列表的序号选择购买的商品,可以选择多次购买,或者不购买
流程图:
代码:
# 简单的购物小程序 product_list = [ ['surface pro 4', 7800], ['dell xps 15', 12000], ['macbook', 12000], ['小米6', 2499], ['iphone7', 4600], ['坚果Pro', 1499] ] shopping_list = [] # 判断输入的薪水格式是否正确 while True: salary = input('\n请输入您的薪水:') if not salary.isdigit(): # 薪水不是数字,结束循环 print('\n输入格式有误!请重新输入...') continue break balance = salary = int(salary) print('\n-----------欢迎购买------------\n') # 生成带序号的商品列表 for index, item in enumerate(product_list): print(index, item) # 判断输入的序号是否符合要求 while True: while True: i = input('\n输入您要购买的商品序号,或输入 q 取消购买:') if i == 'q': # 输入 q 退出购买界面 while True: a = input('\n是否继续购买?(Y/N):') if a != 'n' and a != 'N' and a != 'y' and a != 'Y': print('\n输入格式有误,请重试...') continue elif a == 'y' or a == 'Y': # 继续购买 break else: # 购买完毕 if balance == salary: # 没有买任何东西 print('\n交易结束,购买失败...') exit() else: # 结算 print('\n您已成功购买以下商品:\n') for item in shopping_list: print(item) print('\n共消费金额 %d 元,余额 %d 元' % (salary - balance, balance)) exit() continue if not i.isdigit(): # 序号不是数字,结束循环 print('\n输入格式有误!请重新输入...') continue i = int(i) if i < 0 or i >= len(product_list): # 序号范围不正确,结束循环 print('\n此商品不存在,请重新输入...') continue break product = product_list[i] price = int(product[1]) # 判断余额是否充足,够就直接扣款,不够提醒 if price <= balance: balance -= price shopping_list.append(product_list[i]) print('\n您已成功购买 %s ,当前余额为 %d 元' %(product, balance)) else: print('\n购买失败,您的余额不足...') while True: a = input('\n是否继续购买?(Y/N):') if a != 'n' and a != 'N' and a != 'y' and a != 'Y': print('\n输入格式有误,请重试...') continue break if a == 'Y' or a == 'y': continue else: break if balance == salary: print('\n交易结束,购买失败...') exit() else: print('\n您已成功购买以下商品:\n') for item in shopping_list: print(item) print('\n共消费金额 %d 元,余额 %d 元' %(salary-balance, balance)) exit()
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php实现每日签到功能
- laravel5实现微信第三方登录功能
- Laravel框架定时任务2种实现方式示例
- tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
- Python 基于jwt实现认证机制流程解析
- Keras – GPU ID 和显存占用设定步骤
- PHP中如何使用Redis接管文件存储Session详解
- 看我一波,Android获取进程名函数,代码优化到极致的操作!
- laravel5使用freetds连接sql server的方法
- opencv 图像滤波(均值,方框,高斯,中值)
- opencv 阈值分割的具体使用
- 浅谈keras 的抽象后端(from keras import backend as K)
- 在Keras中利用np.random.shuffle()打乱数据集实例
- 浅谈matplotlib中FigureCanvasXAgg的用法
- Keras自定义实现带masking的meanpooling层方式