1、元素的分类

需求:有如下集合[11,22,33,44,55,66,77,88,99,90……],将所有大于66的值保存在字典的第一个key中,将小于66的值保存在第二个key的值中
代码实现:
 #定义一个list列表
li = [11,22,33,44,55,66,77,88,99,90]
#定义空字典
dic = {"k1": [], "k2": []}
for i in li:
if i <= 66:
dic['k1'].append(i)
else:
dic['k2'].append(i)
print(dic)

2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素

代码实现:

li = ["aleb", "aric", "Alex", "Tony", "rain"]
#tu = ("alec", "aric", "Alex", "Tony", "rain") 元组也适用以下方法
for i in li:
#i表示每一个元素
new_i = i.strip()
#if 判断的顺序,从前到后;or,自动执行成功就行;and
#先执行括号内的,再执行括号外的
if (new_i.startswith('a') or new_i.startswith('A')) and new_i.endswith('c'):
print(i)
#字典
dic = {"k1": "alex", "k2": "arlc", "k3": "Alex", "k4": "Tony"}
for j in dic.values():
new_j = j.strip()
if (new_j.startswith('a') or new_j.startswith('A')) and new_j.endswith('c'):
print(j)

3、输出商品列表,用户输入序号,显示用户选中的商品

代码实现:

li = ["手机", "电脑", "鼠标垫", "游艇"]

#首先循环商品
for i, j in enumerate(li):
print(i + 1, j)
#用户输入
num = input("请您输入商品编号: ")
#获取索引
num = int(num)
#获取列表的长度
len_li = len(li)
if num > 0 and num <= len_li:
goods = li[num - 1]
print(goods)
else:
print("此商品不存在!")

4、用户交互,显示省市县三级联动的选择

代码实现:

dic = {
"广东": {
"广州": ["天河区", "越秀区", "海珠区"],
"东莞":["长安", "凤岗", "黄江"],
},
"河北": {
"石家庄": ["鹿泉", "元氏", "鹰城"],
"邯郸": ["永年", "涉县", "磁县"],
}
} #循环输出所有的省
for x in dic:
print(x) #用户输入省份
i1 = input("请输入省份: ")
a = dic[i1]
#循环输出所有的市
for j in a:
print(j)
#用户输入城市
i2 = input("请输入城市: ")
b = dic[i1][i2]
#循环,将所有的数据打印出来
for z in b:
print(z)

5、购物车

功能需求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功
附加:可充值、某商品移除购物车
代码实现方法一:使用列表方式储存购买数量
#定义一个总资产
asset_all = 0
#定义一个购物车列表
car_list = [] num = input('请输入您的总资产: ')
asset_all = int(num)
#所有的商品列表
goods = [
{"name": "电脑", "price": 4999},
{"name": "自行车", "price": 999},
{"name": "耳机", "price": 129},
{"name": "iphone", "price": 10999}, ]
for i in goods:
#i,每一个列表的元素,字典
print(i['name'], i['price']) while True:
g = input('请输入你选择的商品(y结算): ')
if g.lower() == 'y':
break
for j in goods:
if j['name'] == g:
# j = {"name": "电脑", "price": 4999}
car_list.append(j)
#结算
print(car_list)
#定义一个购买总价
all_price = 0
for item in car_list:
p = item['price']
all_price = all_price + p #总资产与购买总价比较
if all_price > asset_all:
print('您当前的余额不足')
else:
print('购买成功')

代码实现方法二:使用字典方式储存购买数量

#定义一个总资产
asset_all = 0 num = input('请输入您的总资产: ')
asset_all = int(num)
#所有的商品列表
goods = [
{"name": "电脑", "price": 4999},
{"name": "自行车", "price": 999},
{"name": "耳机", "price": 129},
{"name": "iphone", "price": 10999}, ]
for i in goods:
#i,每一个列表的元素,字典
print(i['name'], i['price']) #定义一个购物车字典
car_dict = {}
"""
car_dict = {
"电脑": {'price':单价, num:12}
} """ while True:
g = input('请输入你选择的商品(Y/y结算): ')
#循环所有的商品,查找需要的商品
if g.lower() == 'y':
break
for item in goods:
if item['name'] == g:
# j = {"name": "电脑", "price": 4999}
name = item['name']
#判断购物车是否已经有该商品, 如果有,num + 1
if name in car_dict.keys():
car_dict[name]['num'] = car_dict[name]['num'] + 1
else:
car_dict[name] = {"num": 1, "single_price": item['price']} #结算,显示购物车里的所有商品
print(car_dict)
#定义一个购买总价
all_price = 0
for k, v in car_dict.items():
#单价
n = v['single_price']
#数量
m = v['num']
#计算每类商品的和
all_sum = m * n
#购买总价
all_price = all_price + all_sum
#总资产与购买总价比较
if all_price > asset_all:
print('您当前的余额不足')
else:
print('购买成功')

day005-python基础数据类型之课后作业讲解的更多相关文章

  1. python基础一之课后作业:编写登录接口

    1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...

  2. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  3. 图解python | 基础数据类型

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  4. python基础数据类型1

    python基础数据类型1 part1: ''' ''': 三个单引号用于换行的字符串 字符串可以相加(拼接)相乘(重复) 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代 ...

  5. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  6. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  7. 1--Python 入门--Python基础数据类型

    一.Python基础语法 初次使用Python,首先要明确三点: Python的标识符(例如变量名.函数名等),可用字母.数字和下划线构成,不能以数字开头,且区分大小写. Python对于缩进敏感.在 ...

  8. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  9. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

随机推荐

  1. nginx php上传大小设置

    来源:http://blog.51yip.com/apachenginx/1751.html

  2. 2019 ICPC 银川站

    I. Base62(高精度进制转换) 比赛当时雷菊苣和队长俩人拿着大数板子摸了一百多行(然后在缺少大数板子的情况下雷菊苣一发过了orz) 今天补题随便摸了个高精度进制转换的板子交上去就过了还贼短,, ...

  3. Go语言【项目】 websocket消息服务

    websocket消息服务 目的:搭建websocket服务,用浏览器与服务进行消息交互(写的第一个Go程序) 代码目录结构: 前端html页面: <!DOCTYPE html> < ...

  4. Fiddler手机抓包不完全记录

    准备工作: 1.必须确保安装fiddler的电脑和手机在同一个wifi环境下 备注:如果电脑是笔记本当然最好;如果电脑用的是台式机,可以安装一个随身wifi,来确保台式机和手机在同一wifi环境下   ...

  5. 离线方式快速安装python模块以及相关依赖模块

    一般公司的服务器都是和外网隔离的,这个如果没有内部pip源的话,想要安装python的模块就需要去python官网一个一个下载依赖模块的包,然后逐个安装,这样做非常耗时间. 我们今天用的办法就是现在我 ...

  6. Codeforces 878 E. Numbers on the blackboard

    Codeforces 878 E. Numbers on the blackboard 解题思路 有一种最优策略是每次选择最后面一个大于等于 \(0\) 的元素进行合并,这样做完以后相当于给这个元素乘 ...

  7. -Git 使用技巧 总结 MD

    目录 目录 Bash下的快捷操作 常用命令 常用操作 移动光标 删除输入内容 Tab键的作用 Git默认Vim编辑器基本使用 Git 使用场景 合并多个commit:rebase -i[s] 删除多个 ...

  8. 2019 创蓝253java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.创蓝253等公司offer,岗位是Java后端开发,因为发展原因最终选择去了创蓝253,入职一年时间了,也成为 ...

  9. 爬虫--selenium之 chromedriver与chrome版本映射表(最新至v2.46版本chromedriver)

    本文主要整理了selenium的chromedriver与chrome版本映射表,并且持续更新中..... 1.selenium之 chromedriver与chrome版本映射表(最新至v2.46版 ...

  10. Spring Aware获取Bean和其他对象

    Spring的容器托管了所有bean,实际项目中我们经常会用到容器中的功能资源,这时候就用到了 Spring Aware.简单来说,就是Spring Aware可以帮助你获取到Spring容器中的Be ...