zoukankan      html  css  js  c++  java
  • Python基础第四天

    python基础知识练习二:

    1、用下划线将列表的每一个元素拼接成字符串
    li =['alex','eric','rain',234]
    li[3] = str(li[3])
    v = '_'.join(li)
    print(v)
    2、查找列表中元素,移除每个元素的空格,并查找以a 或A 开头并且以c结尾的所有元素。
    li = ['alex',' aric',' Alex','Tony','rain']
    tu = ('alex',' aric','Alex','Tony',' rain')
    dic = {'k1':'alex','k2':' aric','k3':'Alex','k4':'Tony','k5':'rain'}
    for i in li:
         v1 = i.strip()
         if (v1.startswith('a')or v1.startswith('A')) and v1.endswith('c'):
             print(v1)
    
     for i in tu:
         v1 = i.strip()
         if (v1.startswith('a')or v1.startswith('A')) and v1.endswith('c'):
             print(v1)
    
     for i in dic.values():
         v1 = i.strip()
         if (v1.startswith('a')or v1.startswith('A')) and v1.endswith('c'):
             print(v1)

    3、写代码,有如下列表,按照要求实现每一个功能

    # 3a、计算列表长度并输出
    li =['alex','eric','rain']
    v = len(li)
    print(v)
    
    # b.列表中追加元素“seven”,并输出添加后的列表
    li.append('seven')
    print(li)
    
    # c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
    li.insert(0,'Tony')
    print(li)
    
    # d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
    li[1] = 'Kelly'
    print(li)
    
    # e.请删除列表中的元素“eric”,并输出修改后的列表
    li.remove('eric')
    print(li)
    
    # f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
    v = li.pop(2)
    print(v)
    print(li)
    
    # g.请删除列表中的第3个元素,并输出删除元素后的列表
    del li[2]
    print(li)
    
    # h.请删除列表中的第2 至4 个元素,并输出删除元素后的列表
    del li[0:2]
    print(li)
    
    
    # i.请将列表所有的元素反转,并输出反转后的列表
    li.reverse()
    print(li)
    
    # j.请使用for、len、range 输出列表的索引
     for i in range(len(li)):
         print(i)
    
    # l.请使用for 循环输出列表的所有元素
    for i in li:
         print(i)

    4、写代码,有如下列表,请按照功能要求实现每一个功能

    li = ['hello','seven',['mon',['h','Kelly'],'all'],123,67]
    # 4a.请根据索引输出“Kelly”
    v = li[2][1][1]
    print(v)
    
    # 4b.请使用索引找到'all'元素并将其修改为“ALL”
    li[2][2]='ALL'
    print(li)

    5、写代码,有如下元组,按照要求实现每一个功能

    tu = ('alex','eric','rain')
    # a.计算元组长度并输出
    v = len(tu)
    print(v)
    
    # b.获取元组的第2个元素,并输出
    v = tu[1]
    print(v)
    
    # c.获取元组的第1-2个元素,并输出
    v = tu[0:2]
    print(v)
    
    # d.请使用for 输出元组的元素
    for i in tu:
         print(i)
    
    # e.请使用for、len、range 输出元组的索引
    for i in range(len(tu)):
         print(i)

    6、有如下变量,请实现要求的功能

    tu = ('alex',[11,22,{'k1':'v1','k2':['age','name'],'k3':(11,22,33)},44])
    # a.讲述元祖的特性
    # 一级元素不可被修改、删除、增加
    
    # b.'k2'变量对应的值是列表,可以被修改。,请在其中添加一个元素“Seven”
    v = tu[1][2]['k2'].append('Seven')
    print(tu)
    
    # c.'k3'变量对应的值是元祖,不可以被修改   可以转换成列表添加元素修改

    7、字典

    dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
    # 7a、请循环输出所有的key,value
    for k,v in dic.items():
         print(k,v)
    
    # d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
    v = dic.setdefault('k4','v4')
    print(dic,v)
    
    # e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
    dic['k1']='alex'
    print(dic)
    
    # f.请在k3 对应的值中追加一个元素44,输出修改后的字典
    dic['k3'].append(44)
    print(dic)
    
    # g.请在k3 对应的值的第1个位置插入个元素18,输出修改后的字典
    dic['k3'].insert(0,18)
    print(dic)

    8、转换

    # a.将字符串s="alex"转换成列表,元祖
    s="alex"
    l=list(s)
    t=tuple(s) print(l,t)
    
    # b.将列表li=["alex","seven"]转换成元组
    li = ["alex","seven"]
    tu = tuple(li)
    print(tu)
    
    # ***d.将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增
    li = ["alex","seven"]
    dic = {}
    for i,name in enumerate(li,10):
         dic[i] = name
    print(dic)
    9、有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key 中,
    将小于66的值保存至第二个key 的值中。
    li = [11,22,33,44,55,66,77,88,99,90]
    v1 = []
    v2 = []
    for i in li:
         if i > 66:
             v1.append(i)      
         elif i < 66:
             v2.append(i)
    dic = {'key1':v1,'key2':v2}
    print(dic)
    10、输出商品列表,用户输入序号,显示用户选中的商品
    li = ["手机","电脑",'鼠标垫','游艇']
    # a.允许用户添加商品
    # b.用户输入序号显示内容
    dic = {}
    for i,num in enumerate(li,1):
          dic[i] = num
    print(dic)
    user = int(input('>>>'))
    print(li[user-1])
    12、列举布尔值是False 的所有值
    None “ ” () { } [ ] 0
    13、有两个列表
    l1=[11,22,33]
    l2=[22,33,44]
    # 13a.获取内容相同的元素列表
    v = []
    for i in l1:
         for j in l2:
             if i == j:
                 v.append(i)
    print(v)
    
    # b.获取l1中有,l2 中没有的元素列表
    for i in l1:
         if i not in l2:
             print(i)
    # d.获取l1和l2中内容都不同的元素
    for i in l1:
         if i not in l2:
             print(i)
    for j in l2:
         if j not in l1:
             print(j)
    14、利用For 循环和range 输出
    # a.For 循环从小到大输出1-100
    for i in range(1,101):
         print(i)
    
    # b.For 循环从大到小输出100-1
    for i in range(100,0,-1):
          print(i)
    
    # c.While 循环从小到大输出1-100
    i = 1
    while i < 101:
         print(i)
         i +=1
    
    # d.While 循环从大到小输出100-1
    i = 100
    while i > 0:
         print(i)
         i -=1
    15、购物车
    # 功能要求:
    # 要求用户输入总资产,例如:2000
    # 显示商品列表,让用户根据序号选择商品,加入购物车
    # 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    money = int(input('总资产:'))
    goods = [{"name":"电脑","price":1999},{"name":"鼠标","price":10},{"name":"游艇","price":20},{"name":"美女","price":998}]
    for i,good in enumerate(goods,1):
         print(i,good)
    user = int(input('请输入商品号:'))
    if int(goods[user-1]['price']) >= money:
         print('余额不足')
    else:
         print('购买成功')
    16、分页显示内容
    # a.通过for 循环创建301 条数据,数据类型不限,
    # b.提示用户请输入要查看的页码,当用户输入指定页码,则显示指定数据
    user_list = []
    for i in range(1,302):
         temp = {'name':'alex'+str(i),'email':'alex@live.com' +str(i),'pwd':'pwd'+str(i)}
         user_list.append(temp)
    # #每页显示10 条数
    while True:
         s = input('请输入页码:')
         s = int(s)
         start = (s-1) * 10
         end = s * 10
         result  = user_list[start: end]
         for item in result:
             print(item,type(item))
    17、有1、2、3、4、5、6、7、8、8 个数字,能组成多少个互不相同且无重复数字的两位数?
    for i in range(1,9):
         for j in range(1,9):
             if i != j:
                 print(int(i*10+j))
    18、利用for 循环和range 输出9*9乘法表
    for i in range(1,10):
         for j in range(1,i+1):
             print('{0} * {1} = {2}'.format(i,j,i*j),end = "  " )#end = " " 作用就是:内循环不换行
         print('
    ',end = " " )
    19、有一下列表,nums=[2,7,11,15,1,8,7] 请找到列表中任意两个元素相加能够等于9 的元素集合
    nums = [2, 7, 11, 15, 1, 8, 7]
    li = []
    for i in nums:
         for j in nums:
             if i + j == 9:
                 li.append((i,j))
    print(li)
    li = []
    for i in range(len(nums)):
         for j in range(len(nums)):
             if nums[i] + nums[j] ==9:
                 li.append((i,j),)
    print(li)
    20.公鸡5 文钱一只,母鸡3 文钱一只,小鸡3 只一文钱,用100 文钱买100 只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母
    鸡,小鸡要买多少只刚好凑足100 文钱?
    for x in range(1,20) :
         for y in range(1,33) :
             for z in range (1,100) :
                 if x + y +z ==100 and 5*x + 3*y + z/3 ==100:
                     print(x,y,z)
  • 相关阅读:
    Saltstack module acl 详解
    Saltstack python client
    Saltstack简单使用
    P5488 差分与前缀和 NTT Lucas定理 多项式
    CF613D Kingdom and its Cities 虚树 树形dp 贪心
    7.1 NOI模拟赛 凸包套凸包 floyd 计算几何
    luogu P5633 最小度限制生成树 wqs二分
    7.1 NOI模拟赛 dp floyd
    springboot和springcloud
    springboot集成mybatis
  • 原文地址:https://www.cnblogs.com/xyd134/p/6415772.html
Copyright © 2011-2022 走看看