Python3 list与循环练习(购物车)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Author;Tsukasa product_list = [
('Iphone',5800),
('Mac Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',30),
('Tuskasa Python',20000),
] #创建一个商品列表
shopping_list = [] #创建一个购物车,空的list
salary = input('你的工资是多少:') #input让用户输入工资
if salary.isdigit():
salary = int(salary) #判断输入的是否数字,如果是的话改成int类型
while True: #进入循环
for index,list in enumerate(product_list): #enmuerate可以提取下标,提取product_list的下标,0.1.2.3....
print(index,list) #打印出商品列表的下标和list
user_choice = input('你要买什么商品:') #让用户输入购买商品的下标
if user_choice.isdigit():
user_choice = int(user_choice) #判断必须是数字,并int
if user_choice < len(product_list) and user_choice >=0:#设定输入范围,len()可以获取list的总数目,设定总数目为上线,并大于等于0
p_list = product_list[user_choice]#通过商品下标把商品取出来
if p_list[1] <= salary: #买得起、、,判断工资够
shopping_list.append(p_list)# 添加到shopping_list购物车
salary -= p_list[1]#扣工资
print('%s 已加入购物车,你现在还有%s元。'%(p_list,salary))
else:
print('没钱你买个J8啊')
exit()
else:
print('不要乱输入,请输入商品编号!') #没有商品下标
elif user_choice == "q":
print('-----shopping list-----')
for p in shopping_list:
print('你现在买了:',p)
print('你现在还剩%s元。' %(salary))
exit()
else:
print('不要乱输入,输入商品编号')
Python3 list与循环练习(购物车)的更多相关文章
- 【Python】-NO.99.Note.4.Python -【Python3 条件语句 循环语句】
1.0.0 Summary Tittle:[Python]-NO.99.Note.4.Python -[Python3 条件语句 循环语句] Style:Python Series:Python Si ...
- Python3.5 Day2作业:购物车程序
需求: 1. 启动程序后,用户通过账号密码登录,然后打印商品列表. 2. 允许用户根据商品编号购买商品. 3. 用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒充值. 4. 可随时退出,退出 ...
- 1.3if判断语句+while和for循环语句+购物车作业
1.if 语句 if userame=_usename and password=_password: print("welcome user {name} login..."). ...
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False: print("-第一层") wh ...
- python练习-跳出多层循环和购物车
跳出多层循环:三层循环,最里层直接跳出3层 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 def work(): for i in ran ...
- Python3基础 else 循环完整结束才执行
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- python3.4用循环往mysql5.7中写数据并输出
#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ pyt ...
- Python3 条件与循环
1.条件控制 下面是一个简单的条件控制语句 s=input('Please input a str: ') if s=='python': print('I love python!') elif s ...
- Python3 使用基本循环实现多级目录(思路)
一.多级目录设计: 1. 通过循环的方式显示菜单和进入菜单 2. 设置标志位以提供回退上一层菜单 2. 设置标志位以提供退出程序 二.注意要点: 1. 菜单样式,层次关系不要弄混乱 2. 当输入错误时 ...
随机推荐
- 【题解】HNOI2010合唱队
我果然还是太弱了呜呜呜……洛谷P3205 区间dp:注意到一段区间最两侧的人必然是最后加入队伍的所以由此我们可以分成两种情况来讨论. 一种是最后一个加入的人是左边的,另一种是右边的.那么状态:dp[i ...
- 【NOIP模拟赛】超级树 DP
这个题我在考试的时候把所有的转移都想全了就是新加一个点时有I.不作为II.自己呆着III.连一个IV.连接两个子树中的两个V连接一个子树中的两个,然而V我并不会转移........ 这个题的正解体现了 ...
- Windows Server 2008 R2 Upgrade Paths
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd ...
- 【BZOJ3237】【AHOI2013】连通图 [CDQ分治]
连通图 Time Limit: 20 Sec Memory Limit: 512 MB[Submit][Status][Discuss] Description Input Output Sampl ...
- 不谈OI:高二(13)最后一次班班有歌声
最后一次班班有歌声了…… 自己因为搞oi并没有参加,只是决赛的时候幕后放了放背景视频…… 不管怎么说,我们班唱的很棒啊,全部人都很棒! 说真的我为我们班骄傲 视频: https://v.qq.com/ ...
- 地震(quake)
地震 题目描述 一场地震毁了 Farmer John 的整个农场.他是个有恒心的人,决定重建农场.在重建了所有 n(1<=n<=400)块田野后,他意识到还得修路将它们连起来.完工后,任两 ...
- passwd讲解
root:$dffjioowwf/:16274:0:999999:7::: 1用户名:密码:最近修改密码的日期:密码不能更改的天数:密码过期时间:密码需要更改期限到拉前7发出警告:宽限天数:帐号过期时 ...
- IEEE 802.15介绍
1. 无线通信 无线通信主要是利用无线电(Radio)射频(RF)技术的通信方式,无线网络是采用无线通信技术实现的网络无线网络可为两种: 近距离无线网络和远距离无线网络 近距离无线网络主要可分为如下两 ...
- popen && pclose函数
1. 函数操作: 创建一个管道,调用fork产生一个子进程,关闭管道的不使用端,执行一个shell以运行命令,然后等待命令终止: 2. 函数原型: #include <stdio.h> F ...
- malloc和new的区别 begin
http://blog.csdn.net/miss_acha/article/details/7279915#comments 1.综述 1,malloc与free是C++/C语言的标准库函数,new ...