• Python-08-基本数据类型_练习二


      1 #!/usr/bin/env python
      2 # -*- conding:utf8 -*-
      3 
      4 # 1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','rain']
      5 li = ['alex','eric','rain']
      6 v = "_".join(li)
      7 print(v)
      8 
      9 li = ['alex','eric',123]
     10 count = 0
     11 for i in li:
     12     li[count] = str(i)
     13     count += 1
     14 v = "_".join(li)
     15 print(v)
     16 
     17 # 2、查找列表中元素,移除每个元素的空格,并查找以a或者A开头 并且以c结尾的所有元素
     18 li = ["alec"," aric","Alex","Tony","rain"]
     19 count = 0
     20 for item in li:
     21     v = item.strip()
     22     li[count] = v
     23     count += 1
     24 print(li)
     25 for i in li:
     26     if i.startswith('a') or i.startswith('A') and i.endswith('c'):
     27         print(i)
     28 
     29 tu = ("alec"," aric","Alex","Tony","rain")
     30 dic = {"k1":"alec","k2":" aric","k3":"Alex","k4":"Tony"}
     31 
     32 
     33 # 3、写代码,有如下列表,按照要求实现每一个功能
     34 li = ['alex','eric','rain']
     35 a.计算列表长度并输出
     36 b.列表中追加元素 "seven",并输出添加后的列表
     37 
     38 # 4、写代码,有如下列表,请按照功能要求实现每一个功能
     39 li = ["hello",'seven',["moom",["h","kelly"],'all'],123,446]
     40 a.请根据索引输出 "Kelly"
     41 b.请使用索引找到 'all' 元素并将其修改为 "ALL". 如:li[0][1][9]...
     42 
     43 # 5、写代码,有如下元组,按照要求实现每一个功能
     44 # tu = ('alex','eric','rain')
     45 # a.计算元组长度并输出
     46 # b.获取元组的第2个元素,并输出
     47 # c.获取元组的第1-2个元素,并输出
     48 # d.请使用for输出元组的元素
     49 # e.请使用for、len、range输出元组的索引
     50 # f.请使用enumrate输出元组元素和序号(序号从10开始)
     51 tu = ('alex','eric','rain')
     52 a
     53 print(len(tu))
     54 for i in tu:
     55     print(i)
     56 b
     57 print(tu[1])
     58 c
     59 print(tu[0:2])
     60 d
     61 for i in tu:
     62     print(i)
     63 e
     64 for i in range(len(tu)):
     65     print(i)
     66 f
     67 for i , j in enumerate(tu, 10):
     68     print(i,j)
     69 ############新的知识点!!!!!!
     70 # 创建序列
     71 """
     72 enumerate(sequence, [start=0])
     73 其中:sequence    一个序列、迭代器或其他支持迭代对象(例如本题中的元组tu)
     74 其中:start       下标起始位置 例如本题f 中的(序号从10开始)
     75 for i , j in enumerate(tu, 10):
     76     print(i,j)
     77 
     78 """
     79 ############新的知识点!!!!!!
     80 
     81 
     82 # 6、有如下变量,请实现要求的功能
     83 # tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
     84 # a.讲述元组的特性
     85 # b.请问tu变量中的第一个元素 "alex" 是否可被修改?
     86 # c.请问tu变量中的"k2"对应得值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
     87 # d.请问tu变量中的"k3"对应得值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 "Seven"
     88 tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
     89 c
     90 tu[1][2]["k2"].append("Seven")
     91 print(tu)
     92 
     93 # 9、元素分类
     94 #     有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值
     95 #    保存至字典的第二个key的值中。
     96 #       即:{'k1':大于66的所有值,‘k2’:小于66的所有值}
     97 li = [11,22,33,44,55,66,77,88,99,90]
     98 dic = {"k1":[],"k2":[]}
     99 for i in li:
    100     if i > 66:
    101         dic["k1"].append(i)
    102     if i < 66:
    103         dic["k2"].append(i)
    104 print(dic)
    105 
    106 # 10、输出商品列表,用户输入序号,显示用户选中的商品
    107 #     商品 li = ["手机","电脑","鼠标垫","游艇"]
    108 #    a.允许用户添加商品
    109 #    b.用户输入序号显示内容
    110 li = ["手机", "电脑", "鼠标垫", "游艇"]
    111 v = input("请选择是否添加商品(1 or 0):")
    112 if v == 1:
    113     new_v = input("请输入添加的产品:")
    114     li.append(new_v)
    115 else:
    116     m = int(input("请选择你需要查看的商品:"))
    117     print(li[m])
    118 
    119 # 11、用户交互显示类似省市县N级联动的选择
    120 #  a.允许用户增加内容
    121 #  b.允许用户选择查看某一个级别内容
    122 
    123 # 12、列举布尔值是False的所有值
    124 0 / None / [] / () / {} / ""
    125 
    126 # 13、有两个列表
    127 # l1 = [11,22,33]
    128 # l2 = [22,33,44]
    129 # a.获取内容相同的元素列表
    130 # b.获取l1中有,l2中没有的元素列表
    131 # c.获取l2中有,l1中没有的元素列表
    132 # d.获取l1和l2中内容都不同的元素
    133 a
    134 for i in l1:
    135     if i in l2:
    136         print(i)
    137 b
    138 for i in l1:
    139     if i not in l2:
    140         print(i)
    141 c
    142 for i in l2:
    143     if i not in l1:
    144         print(i)
    145 d
    146 for i in l2:
    147     if i not in l1:
    148         print(i)
    149 for i in l1:
    150     if i not in l2:
    151         print(i)
    152 
    153 # 14、利用For循环和range输出
    154 # a.For循环从大到小输出1-100
    155 # b.For循环从小到大输出100-1
    156 # c.while循环从大到小输出1-100
    157 # d.while循环从小到大输出100-1
    158 
    159 
    160 # 15、购物车
    161 #     功能要求:
    162 #      要求用户输入总资产,例如:2000
    163 #      显示商品列表,让用户根据序号选择商品,加入购物车
    164 #      购买,如果商品总额度大于总资产,提示账号余额不足,否则购买成功。
    165 # goods = [{"name":"电脑","price":"1999"},
    166 #         {"name":"鼠标","price":"10"},
    167 #         {"name":"游艇","price":"20"},
    168 #         {"name":"美女","price":"998"}]
    169 
    170 # 16、分页显示内容
    171 # a.通过for循环创建301条数据,数据类型不限,入:
    172 #   alex-1  alex1@live.com   pwd1
    173 #   alex-2  alex2@live.com   pwd2
    174 #   alex-3  alex3@live.com   pwd3
    175 #   alex-4  alex4@live.com   pwd4
    176 #   alex-5  alex5@live.com   pwd5
    177 # b.提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据
    178 # 注意:
    179 #   - 每页显示10条数据
    180 #   - 用户输入页码是非十进制数字,则提示输入内容格式错误
    181 #           自己做的 忘记了 切片方法!1!
    182 dic = {}
    183 v = ""
    184 for item in range(0, 301):
    185     if v.count("
    ") == 10:
    186         v = ""
    187         v += "alex-" + str(item) + "	" + "alex" + str(item) + "@live.com" + "	" + "pwd" + str(item) + "
    "
    188     else:
    189         v += "alex-" + str(item) + "	" + "alex" + str(item) + "@live.com" + "	" + "pwd" + str(item) + "
    "
    190         dic.update({(item // 10 + 1): v})
    191 # print(dic)
    192 m = input("请输入要查看的页码:")
    193 new_m = dic[int(m)]
    194 print(new_m)
    195 
    196 #           答案
    197 user_list = []
    198 for i in range(1,302):
    199     temp = {"name":"newmet"+str(i),"email":"newmet@top"+str(i),"pwd":"pwd"+str(i)}
    200     user_list.append(temp)
    201 while True:
    202     # 用切片实现,每次输入页面,只显示10页
    203     v = int(input("请输入要查看的页码:"))
    204     start = (v-1)*10
    205     end = v * 10
    206     result = user_list[start:end]
    207     for item in result:
    208         print(item,type(item))
    209 
    210 
    211 
    212 
    213 # 17、有1、2、3、4、5、6、7、8、8个数字,能组合多少个互不相同切无重复数字的两位数?
    214 li = []
    215 for i in range(1,9):
    216     for j in range(1,9):
    217         if j != i:
    218             v = str(i) + str(j)
    219             if v not in li:
    220                 li.append(v)
    221 print(li,len(li))
    222 
    223 # 18、利用for循环和range输出 9 * 9 乘法表
    224 for i in range(1,10):
    225     v = ""
    226     for j in range(i,10):
    227         v += str(i) + " × " +str(j) + " = " + str(i*j) + "	"
    228     print(v)
    229 
    230 for i in range(1,10):
    231     v = ""
    232     for j in range(1,i+1):
    233         v += str(i) + " × " +str(j) + " = " + str(i*j) + "	"
    234     print(v)
    235 
    236 for i in range(1,10):
    237     for j in range(1,i+1):              # 不加 end="" ,每次输出print,默认有(
    )是自动换行,加上则不换行
    238         print(str(i) + " × " +str(j) + " = " + str(i*j) + "	",end="")
    239     print("
    ",end="")
    240 ############新的知识点!!!!!!
    241 """
    242 print("newmet",end="")              # end=""  默认是 end="
    "
    243 print('new','met','top')            # 结果:new met top
    244 print('new','met','top',sep='*')    # 结果:new*met*top
    245                                     # sep=""  默认是 sep=" "
    246 """
    247 ############新的知识点!!!!!!
    248 
    249 # 19、有以下列表,
    250 # nums = [2,7,11,15,1,8,7]
    251 # 请找到列表中任意两个元素相加能够等于9的元素合集,如:[(0,1),(4,5)]
    252 nums = [2, 7, 11, 15, 1, 8, 7]
    253 li = []
    254 count1 = 0
    255 for i in nums:
    256     count2 = 0
    257     for j in nums:
    258         if i + j == 9 and count1 != count2 and count2 > count1:
    259             tu = (count1,count2)
    260             li.append(tu)
    261         count2 += 1
    262     count1 += 1
    263 print(li)
    264 
    265 # 只要求索引,不考虑重复与否
    266 li = []
    267 for i in range(len(nums)):
    268     for j in range(len(nums)):
    269         if nums[i] + nums[j] == 9:
    270             li.append((i,j,))
    271 print(li)
    272 
    273 
    274 # 20、用Python开发程序自动计算方案:
    275 #    公鸡5文钱一只,母鸡3文钱一只,小计3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡必须要有,
    276 #  问公鸡、母鸡、小鸡要买多少只刚好凑够100文钱?
    277 for i in range(1,20):
    278     for j in range(1, 33):
    279         for m in range(1, 100):
    280             if i * 5 + j * 3 + m / 3 == 100 and i + j + m == 100:
    281                 print(i, j, m)
    282 # 结果:4 18 78
    283 # 结果:8 11 81
    284 # 结果:12 4 84
  • 相关阅读:
    C语言II博客作业01
    vscode使用相关配置
    Ubuntu配置教程
    编译原理复习
    误差与过拟合
    机器学习分类
    SQL语句使用详解
    CRC模2除法
    数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
  • 原文地址:https://www.cnblogs.com/newmet/p/9946331.html
Copyright © 2020-2023  润新知