一、元素分类
# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

1
2
3
4
5
6
7
8
9
10
11
list1 = [11,22,33,44,55,66,77,88,99,90]
dic1 = {
     'k1':[],
     'k2':[]
}
for in  list1:
    if l > 66:
        dic1['k1'].append(l)
    else:
        dic1['k2'].append(l)
print(dic1)

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

1
2
3
4
5
6
7
8
li = ["alc"" aric ""Aex""Tny""rain"]
list1 =[]
for in li:
    #使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
    if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
        #print(l.strip())
        list1.append(l.strip())
print(list1)

2、元组

1
2
3
4
5
6
7
8
9
10
tu = ("alc"" aric""Alx""Tny""rain")
#找出的元素放到一个新列表中,因为元组中不能增加元素
list2 =[]
for in tu:
    #使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
    #if 判断遇到or和and是需要注意执行成功时的判断
    if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
        #print(l.strip())
        list2.append(l.strip())
print(list2)

3、字典

1
2
3
4
5
6
7
8
dic = {'k1'"alx"'k2'' aric',  "k3""Alx""k4""Tny","k5":" Anc "}
#定义一个空字典
dic1 = {}
for k,v in dic.items():
    if (v.strip().startswith('a') or v.strip().startswith('A')) and v.strip().endswith('c'):
        print(v)
        dic1[k] =v
print(dic1)

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

1
2
3
4
5
6
7
8
9
10
#  商品
li = ["手机""电脑"'鼠标垫''键盘']
for num,v in enumerate(li,1):
     print(num,v)
choice = int(input("请选择商品:"))
choice1=choice-1
if choice1>=0 and choice1<=len(li)-1:
    print(li[choice1])
else:
     print("商品不存在")

四、购物车
# 功能要求:
#     要求用户输入总资产,例如:2000
#     显示商品列表,让用户根据序号选择商品,加入购物车
#     购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#     附加:可充值、某商品移除购物车
方法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
goods = [
    {"product""电脑""price": 1999},
    {"product""鼠标""price": 10},
    {"product""iphone""price": 5000},
    {"product""kindle""price": 998},
]
#已经买到的商品
list_buy = []
#输入总资产
all_money = 0
all_money = int(input("请输入总资产:"))
#输出所有的产品
for key,i in enumerate(goods,1):
    print(i['product'],i['price'])
#当条件成立时,在购买环节循环
while True:
    #选择需要买的商品
    choice = input("请选择商品(y/Y进行结算购买):")
    #是否进行结算
    if choice.lower() == "y":
        break
    #循环所有的商品与选择商品进行对比,如果存在,就添加到list_buy中
    for v in goods:
        if choice == v["product"]:
            list_buy.append(v)
#输出所有打算购买的商品
print(list_buy)
#定义商品总价初始值
total_price = 0
for in list_buy:
    #计算所有商品价格
    total_price = total_price+p["price"]
if total_price>all_money:
    print("你的钱不够,请充值%d元"%(total_price-all_money))
    chongzhi = int(input("输入充值金额:"))
    all_money +=chongzhi
else:
    print("购买成功")
    print(list_buy)

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
goods = [
    {"product""电脑""price": 1999},
    {"product""鼠标""price": 10},
    {"product""iphone""price": 5000},
    {"product""kindle""price": 998},
]
salary = int(input("请输入工资:"))
#dic_shop_cart  = {"product":{"price":0,"num":0}}
dic_shop_cart = {}
#循环输出所有产品
for in goods:
    print(p['product'],p['price'])
while True:
    choice = input("请选择购买的商品(y/Y进行结算):")
    if choice.lower() == 'y':
        break
    #循环所有商品
    for item in goods:
        #判断选择的商品是否在所有商品中
        if item["product"] == choice:
            #如果存在,就把商品赋值给product
            product = item["product"]
            #如果商品在字典dic_shop_cart中,字典中num就加1
            if product in dic_shop_cart.keys():
                dic_shop_cart[product]["num"] = dic_shop_cart[product]["num"] + 1
                #如果不在,就第一次添加到字典中
            else:
                dic_shop_cart[product] = {"num":1,"single_price":item["price"]}
    print(dic_shop_cart)
sum_price = 0
for k,v in dic_shop_cart.items():
#    print(k,v)
    t_price = v["single_price"]*v["num"]
    print("购买%s的数量为%s:总价为%d"%(k,v["num"],t_price))
    sum_price=sum_price+t_price
print("所有商品总价为:%s"%sum_price)
if sum_price>salary:
    print("你的钱不够,哈哈哈。。。,别买了吧")
else:
    print("购买成功,有钱人啊。。。")

 输出结果:


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
dic = {
    "河北": {
        "石家庄": ["鹿泉""藁城""元氏"],
        "邯郸": ["永年""涉县""磁县"],
    },
    "北京": {
        "大兴": ["黄村""清源""天宫院"],
        "海淀": ["中关村""西二旗""五道口"],
    },
    "安徽": {
        "合肥": ["庐阳""肥西""滨湖"],
        "安庆": ["桐城""宜秀区""岳西"],
    }
}
for in dic:
    print(p)
p1 = input("请输入省份:")
if p1 in dic.keys():
    for in dic[p1]:
         print(s)
    s1 = input("请输入市区:")
    if s1 in dic[p1].keys():
        for in  dic[p1][s1]:
            print(q)
    else:
        print("市区还没有录入")
else:
    print("省份还没有录入")

 执行结果:

转载于:https://www.cnblogs.com/chenshengqun/p/9071228.html

python基本数据类型练习相关推荐

  1. Python的零基础超详细讲解(第四天)-Python的数据类型

    Python 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型&q ...

  2. python的数据类型和变量

    python的数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种 ...

  3. python核心数据类型_Python核心数据类型-列表

    Python核心数据类型-列表 关于列表的重要属性 列表是任意对象的有序集合,列表中可以包含任何种类的对象,数字 字符串 或者是其他列表 列表可以通过偏移来读取其中的元素,也可以通过分片读取列表中的某 ...

  4. python判断数据类型type_Python 判断数据类型有type和isinstance

    Python 判断数据类型有type和isinstance 基本区别在于: type():不会认为子类是父类 isinstance():会认为子类是父类类型 执行结果如下: 用isinstance判断 ...

  5. Python基础数据类型之set集合

    Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...

  6. Python基础数据类型之字符串(二)

    Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...

  7. Python基础数据类型之字符串(一)

    Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...

  8. 好好学python·基本数据类型

    好好学Python的第一天 基本用法 注释 输出 变量 命名规范 变量的定义方式 python的数据类型 数据类型分类 字符串类型 数字类型 List列表类型 tuple 元组类型的定义 Dict字典 ...

  9. python元组类型_什么是python元组数据类型

    什么是python元组数据类型 发布时间:2020-08-25 11:46:29 来源:亿速云 阅读:68 这篇文章运用简单易懂的例子给大家介绍什么是python元组数据类型,代码非常详细,感兴趣的小 ...

  10. python核心数据类型_Python核心数据类型—元组

    Python核心数据类型-元组 Python元组与列表类似,但是元组属于不可变类型 创建元组 a = () #创建空元组 a = (1, 2, 3) #创建一个元组 a = [1, 2, 3] b = ...

最新文章

  1. spark编程基础--5.1RDD编程基础
  2. LabVIEW 三维机器人展示
  3. 十图详解TensorFlow数据读取机制(附代码)
  4. 必读 | 六月份不容错过的十大重磅好文,机器学习和数据科学的小伙伴拿走不谢 原创 2017-07-10 爱收藏的 AI科技大本营 作者 | Flavian Hautbois 翻译 | AI科技大
  5. 虚拟机的性能监控与故障处理——jps,jstat,jinfo,jmap,jhat,jstack
  6. .NET Core+Selenium+Github+Travis CI =amp;gt; SiteHistory
  7. 深圳电大计算机等级考试报名时间2015,杭州2015下半年计算机等级考试报名
  8. 接口测试系列:工作中所用(十:配置文件的读写操作 configparser模块)
  9. Mysql优化(出自官方文档) - 第五篇
  10. linux 查看端口
  11. 计算机等级考试一级宝典,计算机等级考试一级通关宝典
  12. aliddns ipv6_AliDDNS v2.0.0.1 - 阿里云DNS动态解析Windows客户端 支持IPv6 微信推送
  13. 为什么下载eclipse很慢很慢
  14. 信息技术在园林绿化技师试题测试中的应用
  15. 广西南宁机器人比赛_缤纷校园|2018年广西中小学电脑机器人竞赛开赛 南宁学子大显身手...
  16. 浅析微信小程序生命周期之应用生命周期
  17. 没想到Spring Boot + Vue 竟如此简单!
  18. 简化datax源码,以便于datax二次开发、调试
  19. DebEX 现在支持 Linux 5.0 内核 和 Budgie Desktop 10.4
  20. Entering emergency mode

热门文章

  1. iOS runloop
  2. 实现圆形头像(并且不管图大小都显示成固定尺寸)-和上一篇有点不同。
  3. 微信小程序云开发之cms开发
  4. scnprintf和snprintf的区别
  5. 在MatLab中FFT和IFFT的互相转换
  6. 用python批量修改后缀名
  7. CAD/CAM/CAE基础(一) 概论
  8. OSPF基本概念和OSPF配置
  9. 安装github上下载的python模块
  10. OpenCV笔记:模板匹配 cv2.matchTemplate()、cv2.minMaxLoc() 与 绘制矩形 cv2.rectangle() 方法介绍