zoukankan      html  css  js  c++  java
  • python学习之老男孩python全栈第九期_day005作业

    1,有如下变量(tu是个元组),请实现要求的功能。

    tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])

    (1). 讲述元祖的特性

    相当于只读列表,只可以查询,不能修改元组的元素。若元组里面包含列表,则这个列表可以变。

    (2). 请问tu变量中的第一个元素 “alex” 是否可被修改?

    不可以

    (3). 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

    print(type(tu[1][2]['k2'])) 结果:<class 'list'>

    可以被修改

    1 tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
    2 tu[1][2]['k2'].append('Seven')
    3 print(tu)

    结果:

    ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'Seven'], 'k3': (11, 22, 33)}, 44])

    (4). 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”

    print(type(tu[1][2]['k3'])) 结果:<class 'tuple'>

    不可以修改

    2. 字典dic,dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}

    (1). 请循环输出所有的key

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    for i in dic.keys():
    print(i)

    结果:
    k1
    k2
    k3
    (2). 请循环输出所有的value

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    for i in dic.values():
    print(i)

    结果:
    v1
    v2
    [11, 22, 33]

    (3). 请循环输出所有的key和value

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    for i in dic.items():
    print(i)

    结果:
    ('k1', 'v1')
    ('k2', 'v2')
    ('k3', [11, 22, 33])

    (4). 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    dic['k4'] = 'v4'
    print(dic)

    结果:

    {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}

    (5). 请在修改字典中 “k1” 对应的值为 “kidd”,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    dic['k1'] = 'kidd'
    print(dic)

    结果:
    {'k1': 'kidd', 'k2': 'v2', 'k3': [11, 22, 33]}

    (6). 请在k3对应的值中追加一个元素 44,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    dic['k3'].append('44')
    print(dic)

    结果:
    {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, '44']}

    (7). 请在k3对应的值的第 1 个位置插入个元素 18,输出修改后的字典

    dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
    dic['k3'].insert(0, '18')
    print(dic)

    结果:
    {'k1': 'v1', 'k2': 'v2', 'k3': ['18', 11, 22, 33]}

    3. 元素分类

    有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
    即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

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

    结果:
    {'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55]}

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

    (1):页面显示 序号 + 商品名称,如:
    1 手机
    2 电脑

    (2): 用户输入选择的商品序号,然后打印商品名称

    (3):如果用户输入的商品序号有误,则提示输入有误,并重新输入。

    (4):用户输入Q或者q,退出程序。

     1 goods = {'1':'手机', '2':'电脑','3': '平板','4': '数据线','5': '充电宝'}
     2 for k, v in goods.items():
     3     print(k, v)
     4 s1 = input('请输入商品的序号:')
     5 k2 = []
     6 for k1 in goods:
     7     k2.append(k1)
     8 s2 = '_'.join(k2)
     9 while s2.find(s1) == -1:
    10     print('您的输入有误,请重新输入')
    11     print('温馨提示:输入Q退出程序(不区分大小写)')
    12     s1 = input('请重新输入商品的序号(或退出程序):')
    13     if s1.upper() == 'Q':
    14         break
    15 else:
    16     for k1 in goods:
    17         k2.append(k1)
    18         while int(k1) == int(s1):
    19             print(goods[k1])
    20             break

    明日默写内容:
    (1)字典的增删改查。
    (2)过滤敏感字符代码的默写。

  • 相关阅读:
    leetcode 673. 最长递增子序列的个数 java
    leetcode 148. 排序链表 java
    leetcode 98. 验证二叉搜索树 java
    leetcode 29. 两数相除 java
    leetcode 234. 回文链表 java
    Valid Palindrome LeetCode Java
    Single Number II LeetCode Java
    Single Number LeetCode java
    Search in Rotated Sorted Array II LeetCode Java
    Search in Rotated Sorted Array leetcode java
  • 原文地址:https://www.cnblogs.com/lpgit/p/9256607.html
Copyright © 2011-2022 走看看