list[列表]的使用
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# name:zzyu
shop_list = [["手机",5000],
["电脑",7000],
["香蕉",50],
["衣服",200],
["车",10000]]
shop_list_2 = []
salary = input("请输入您的工资:")
if salary.isdigit():
salary = int(salary)
info = '''<<<您的工资是:\033[31;1m{_salary}\033[0m,请选择您需要的商品编号>>>'''.format(_salary=salary)
print(info)
while True:
for index,itme in enumerate(shop_list):
print (index,itme)
user_choice = input("请选择您要购买的商品编号:")
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(shop_list) and user_choice >= 0:
shop_list_2.append(shop_list[user_choice])
user_choice_2 = shop_list[user_choice]
if user_choice_2[1] <= salary:
print("已为您添加到购物车:", shop_list_2)
salary -= shop_list[user_choice][1]
print("您的余额为:\033[31;1m{}\033[0m".format(salary))
else:
print ("您的剩余余额为:\033[31;1m{_salary}\033[0m,请及时充值 !!!".format(_salary=salary))
break
else:
print("没有此商品。。。")
elif user_choice == "q":
print("您已加入购物车的商品有:")
for p in shop_list_2:
print(p)
exit()
else:
print("您输入有误,请重新输入。。。。。")
else:
print("<<<<<<您输入有误,请重新输入>>>>>>>") 第二次尝试
shop_list = [("苹果",50),
("自行车",200),
("手机",3000),
("电脑",5000),
("摩托车",8000),
("汽车",10000)]
shop_list_2 = []
salary = input("请输入您的工资:")
if salary.isdigit():
salary = int(salary)
print("您的工资是:\033[31;1m{_user_salary}\033[0m".format(_user_salary=salary))
while True:
for index, item in enumerate(shop_list):
print(index, item)
user_num_input = input("请输入商品编号:")
if user_num_input.isdigit():
user_num_input = int(user_num_input)
if user_num_input < len(shop_list) and user_num_input >= 0:
if shop_list[user_num_input][1] <= salary:
salary -= shop_list[user_num_input][1]
shop_list_2.append(shop_list[user_num_input])
info = '''您已加入购物车的商品:{_suer_choice_shop}
您的余额为:\033[31;1m{_user_salary_1}\033[0m'''.format(_suer_choice_shop=shop_list_2,_user_salary_1=salary)
print(info)
else:
print("您的余额不够添加此商品,请及时充值,目前您的余额剩余:\033[31;1m%s\033[0m" %(salary))
user_pay_choice = input("是否对已加入购物车的商品进行购买?<y or n>:")
if user_pay_choice == "y":
print("恭喜您以下商品购买成功:%s"%(shop_list_2))
print("剩余金额为:\033[31;1m%s\033[0m"%(salary))
break
elif user_pay_choice == "n":
print("欢迎下次光临,再见")
break
else:
print("您的输入有误,再见")
break
else:
print("您输入有误,请重新输入!!!")
elif user_num_input == "q":
info_2 = '''您已选择的商品有:%s''' % (shop_list_2)
print(info_2)
exit()
else:
print("输入错误,请重新选择~~~~~")
list[列表]的使用的更多相关文章
- ASP.NET Aries 入门开发教程8:树型列表及自定义右键菜单
前言: 前面几篇重点都在讲普通列表的相关操作. 本篇主要讲树型列表的操作. 框架在设计时,已经把树型列表和普通列表全面统一了操作,用法几乎是一致的. 下面介绍一些差距化的内容: 1:树型列表绑定: v ...
- ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑
前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 # ...
- ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区
前言: Aries框架毕竟是开发框架,所以重点还是要写代码的,这样开发人员才不会失业,哈. 步骤1:新建html 建一个Html,主要有三步: 1:引入Aries.Loader.js 2:弄一个tab ...
- ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...
- 散列表(hash table)——算法导论(13)
1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...
- Python列表去重
标题有语病,其实是这样的: 假设有两个列表 : L1 = [1,2,3,4] ; L2 = [1,2,5,6] 然后去掉L1中包含的L2的元素 直接这样当然是不行的: def removeExists ...
- WPF 微信 MVVM 【续】修复部分用户无法获取列表
看过我WPF 微信 MVVM这篇文章的朋友,应该知道我里面提到了我有一个小号是无法获取列表的,始终也没找到原因. 前两天经过GitHub上h4dex大神的指导,知道了原因,是因为微信在登录以后,web ...
- Emoji选项列表
一.需要的前提文件 从网上下载Emoji的表情包,当然是png的图片,因为WPF不支持彩色的Emoji,所以,做列表的时候,需要用图片. 随着压缩包一起的还有一个Emoji.xml文件,文件的层级结构 ...
- UWP开发必备:常用数据列表控件汇总比较
今天是想通过实例将UWP开发常用的数据列表做汇总比较,作为以后项目开发参考.UWP开发必备知识点总结请参照[UWP开发必备以及常用知识点总结]. 本次主要讨论以下控件: GridView:用于显示数据 ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...
随机推荐
- 华为云+NextCloud(私人云盘搭建)
这几天发现了牛客+华为云的返现活动,免费用一年,赶紧的去搞了一个折腾折腾.(相关软件下载链接在最下面) 噔噔噔!!! 102822985.png) 废话少说,开始搭建. 基础环境部署 Apache安装 ...
- Android Studio Run/Debug configuration error: Module not specified
如下图,配置时没有module可选,因此报错error: Module not specified 解决方法: 1.打开根目录的settings.gradle,删除include ':app' 2.在 ...
- Java循环和数组练习题:打印素数升级版
前两天一个小伙伴问了我一个数组的练习题,我一看思路很清晰,就是打印素数加了个数组.没想到写的时候啪啪打脸,终究还是没逃过眼高手低.本来不打算发出来了,因为发出来愈发显得我很菜,最后还是打算分享出来,一 ...
- Java BIO、NIO与AIO的介绍(学习过程)
Java BIO.NIO与AIO的介绍 因为netty是一个NIO的框架,所以在学习netty的过程中,开始之前.针对于BIO,NIO,AIO进行一个完整的学习. 学习资源分享: Netty学习:ht ...
- 强化学习之三:双臂赌博机(Two-armed Bandit)
本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译,该翻译是基于个人分享知识的目的进行的,欢迎交流!(This article is my personal t ...
- ReentrantLock源码解析——虽众但写
在看这篇文章时,笔者默认你已经看过AQS或者已经初步的了解AQS的内部过程. 先简单介绍一下ReentantLock,跟synchronized相同,是可重入的重量级锁.但是其用法则相当不同,首先 ...
- OpenCV-Python 光流 | 四十八
目标 在本章中, 我们将了解光流的概念及其使用Lucas-Kanade方法的估计. 我们将使用cv.calcOpticalFlowPyrLK()之类的函数来跟踪视频中的特征点. 我们将使用cv.cal ...
- 带权并查集 HDU - 3047
题意: 一圈座位有n个,给出m组序号之间的关系,比如,1 2 150 代表2号坐在1号位置序号+150,看m组数据有多少组冲突的. 思路: 带权并查集模板. #include<stdio.h&g ...
- 用Python简单批量处理数据
近期碰到一个问题,两套系统之间数据同步出了差错,事后才发现的,又不能将业务流程倒退,但是这么多数据手工处理量也太大了,于是决定用Python偷个小懒. 1.首先分析数据. 两边数据库字段的值都是一样, ...
- Ali_Cloud++:阿里云Centos配置iptables防火墙教程
虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 1):检查iptab ...