python实现简单的购物程序代码实例
作者:搁刀听雨 发布时间:2022-09-03 05:29:13
标签:python,购物,程序
需求:
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
代码如下
#!/usr/bin/ven python
# Author: Hawkeye
'''
本程序为实例程序:购物车程序
需求:
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
'''
#创建商品列表
product_list = [
["Iphone",5800],
["Mac Pro",9800],
["bike",800],
["watch",10600],
["coffee",31],
["Alex Python",20]
]
# for i in product_list:
# print(i)
#创建购物列表
shopping_list =[]
#要求用户输入数据
salary = input("Input your salary:")
#首先要对用户的输入做判断
if salary.isdigit():
salary = int(salary) #转换为整形
while True: #循环输出列表
for index,item in enumerate(product_list):
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("\033[32;1mProduct code [%s]is not exist\033[0m " %user_choice)
elif user_choice == "q":
print("----------shoppig list--------")
for p in shopping_list:
print(p)
print("------------------------------")
print("\033[33;1mYour current balance is :\033[0m",salary)
exit()
else:
print("Invalid Option")
else:#输入q退出
print("\033[13;1m【错误】请输入正确的数字!\033[0m")
exit()
来源:https://www.cnblogs.com/sniepr/p/12312824.html
0
投稿
猜你喜欢
- 在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏。此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨
- 与Channel区别Channel能够很好的帮助我们控制并发,但是在开发习惯上与显示的表达不太相同,所以在Go语言中可以利用sync包中的W
- 此BUG最初是在《前端观察》网站刊登,这里再描述一下,代码如下:<style>*{ padding:0; m
- 【译者的话】我们曾经在《透视色轮》一文中探讨过色轮的构成及作用,但你可能更多的只是将其作为了解颜色关系的一个工具,却不一定将其作为实际设计中
- 使用memcache来同步session是还是不错的,当然也可以通过redis来保存session,可以php开启并将Session存储到R
- 本文实例为大家分享了python实现udp传输图片的具体代码,供大家参考,具体内容如下首先要了解UDP的工作模式对于服务器,首先绑定IP和端
- Harris 角点检测算法1. 角点角点是水平方向、垂直方向变化都很大的像素。角点检测算法的基本思想:
- 前言如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有
- 一、前言很多时候,我们都有远程控制电脑的需求。比如正在下载某样东西,需要让电脑在下载完后关机。或者你需要监控一个程序的运行状况等。今天我们就
- 本文实例讲述了Django中实现点击图片链接强制直接下载的方法。分享给大家供大家参考。具体分析如下:当用户点击图片连接时,默认为在浏览器中直
- TO_NUMBER(char[,'format_model']) 字符转换到数字类型TO_DATE(char[,'f
- 这段时间写了很多页面代码,除了一些知识重复以外,也学到css的一些新东西,或许是旧东西,但是还是希望能对大家有用。其实在css里面有很多对a
- 查询一天:select * from table where to_days(column_time) = to_days(now());s
- MySQL的命令行提示符及其表达的意思mysql> 准备好接受新命令。 &n
- 前言本文介绍的主要内容是 Redux-Toolkit 在 React + TypeScript 大型应用中的实践,主要解决的问题是使用 cr
- 在使用ORACLE的过程过,我们会经常遇到一些ORACLE产生的错误,对于初学者而言,这些错误可能有点模糊,而且可能一时不知怎么去处理产生的
- 只有mdf文件的数据库附加失败的修复 附加时报如下错误: 服务器: 消息 1813,级别 16,状态 2,行 1 未能打开新数据库 '
- 如何用组件实现自动发送电子邮件?我想做一个能够自动发送电子邮件的程序,该如何做? 这就要用到w3 upl
- 上篇文章讲了js中的传值和传址 和 函数的作用域.这章我们来探讨js中的变量,表达式,和运算符 还有一些 js 语句。升级中……1, 表达式
- ES Module导出仅导出named exports: 命名导出,每次可以导出一个或者多个。default exports: 默认导出,每