zoukankan      html  css  js  c++  java
  • python第二天练习题

    #字符串类型习题
    # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
    # 1) 移除 name 变量对应的值两边的空格,并输出处理结果
    # name = " aleX"
    # print(name.strip())
    # # 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果

    # name = "aleX"
    # print(name.startswith('al'))
    # 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果

    # name = "aleX"
    # print(name.endswith('X'))
    # 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    # name = "aleX"
    # print(name.replace('l','p'))
    # 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
    # name = "aleX"
    # print(name.split('l'))
    # 6) 将 name 变量对应的值变大写,并输出结果

    # name='alex'
    # print(name.upper())
    # 7) 将 name 变量对应的值变小写,并输出结果

    # 8) 请输出 name 变量对应的值的第 2 个字符?
    # name='alex'
    # print(name[1])
    # 9) 请输出 name 变量对应的值的前 3 个字符?
    # name='alex'
    # print(name[:3])
    # 10) 请输出 name 变量对应的值的后 2 个字符?

    # name='alex'
    # print(name[:-2])
    # 11) 请输出 name 变量对应的值中 “e” 所在索引位置?

    # name='alex'
    # print(name.find('e'))
    # 12) 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo
    # name='alex'
    # print(name[:3])

    列表练习题
    # 1. 有列表data=['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
    # data=['alex',49,[1900,3,18]]
    # print(data[0])
    # print(data[1])
    # print(data[2])
    # 2. 用列表模拟队列
    #先进先出append,pop
    # l1=[]
    # l1.append('one')
    # l1.append('two')
    # l1.append('three')
    # print(l1)
    # print(l1.pop(0))
    # print(l1.pop(0))
    # print(l1.pop(0))
    # 3. 用列表模拟堆栈:先进后出
    # l1=[]
    # l1.append('one')
    # l1.append('two')
    # l1.append('three')
    # print(l1.pop())
    # print(l1.pop())
    # print(l1.pop())
    #或者
    # l1=[]
    # l1.insert(0,'one')
    # l1.insert(0,'two')
    # l1.insert(0,'three')
    # print(l1)
    # print(l1.pop(0))
    # print(l1.pop(0))
    # print(l1.pop(0))

    # 4. 有如下列表,请按照年龄排序(涉及到匿名函数)
    # l=[
    # {'name':'alex','age':84},
    # {'name':'oldboy','age':73},
    # {'name':'egon','age':18},
    # ]
    #
    # l.sort(key=lambda item:item['age'])
    # print(l)

    #简单购物车,要求如下:
    ##实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数加入购物列表,如果输入为空或其他非法输入则要求用户重新输入
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    l=[]
    count=0
    for i in msg_dic:
    print(i, msg_dic[i])
    while count<3:
    name=input('请输入商品名:')
    if name not in msg_dic:
    print('用户不存在')
    count+=1
    continue
    num=input('请输入购买数量:')
    if num.isdigit():#判断输入的是否是纯数字
    l.append((name, msg_dic[name], int(num)))#为先前定义的l列表追加数据
    print(l)
    else:
    print('购买数量请输入数字')
    # 字典习题:
    # 1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
    # 将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
    #
    # 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
    # a={'k1':[],'k2':[]}
    # b=[11,22,33,44,55,66,77,88,99,90]
    # for i in b:
    # if i>66:
    # a['k1'].append(i)
    # else:
    # a['k2'].append(i)
    # print(a)
    # 2 统计s='hello alex alex say hello sb sb'中每个单词的个数
    # 结果如:{'hello': 2, 'alex': 2, 'say': 1, 'sb': 2}
    # s='hello alex alex say hello sb sb'
    # l=s.split()
    # dic={}
    # for i in l:
    # if i in dic:
    # dic[i]+=1
    # else:
    # dic[i]=1
    # print(dic)

    # a=0
    # while True:
    # if a > 2:
    # exit()
    # else:
    # name,password = ("liang","123")
    # username=input("请输入用户名:")
    # userpassword=input("请输入密码:")
    # if username == name and userpassword == password:
    # print("欢迎进入国际购物中心!")
    # break
    # else:
    # aa=2-a
    # print("登录失败,请重启登录")
    # print("您还有%s次登录机会" % aa)
    # a+=1

    # 集合习题
    #  一.关系运算
    #   有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合
    #   pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    #   linuxs={'wupeiqi','oldboy','gangdan'}
    #   1. 求出即报名python又报名linux课程的学员名字集合
    #   2. 求出所有报名的学生名字集合
    #   3. 求出只报名python课程的学员名字
    #   4. 求出没有同时这两门课程的学员名字集合

    # pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    # linuxs={'wupeiqi','oldboy','gangdan'}
    # print(pythons&linuxs)# 即报名python又报名linux课程的学员名字集合
    # print(pythons|linuxs)#求出所有报名的学生名字集合
    # print(pythons-linuxs)#求出只报名python课程的学员名字
    # print(pythons ^ linuxs)#求出没有同时这两门课程的学员名字集合
    
    
    
    
    # 1. 有列表l=['a','b',1,'a','a'],列表元素均为可hash类型,去重,得到新列表,且新列表无需保持列表原来的顺序
    #
    #    2.在上题的基础上,保存列表原来的顺序
    #
    #    3.去除文件中重复的行,肯定要保持文件内容的顺序不变
    #    4.有如下列表,列表元素为不可hash类型,去重,得到新列表,且新列表一定要保持列表原来的顺序
    #
    # l=[
    # {'name':'egon','age':18,'sex':'male'},
    # {'name':'alex','age':73,'sex':'male'},
    # {'name':'egon','age':20,'sex':'female'},
    # {'name':'egon','age':18,'sex':'male'},
    # {'name':'egon','age':18,'sex':'male'},
    # ]  
    # l=['a','b',1,'a','a']
    # print(list(set(l)))#加list是集合转换成列表类型
    # l=['a','b',1,'a','a']
    # l_new=list()
    # s=set()#定义一个空集合
    # for item in l:
    # if item not in s:
    # s.add(item)
    # l_new.append(item)

    # l = [
    # {'name': 'egon', 'age': 18, 'sex': 'male'},
    # {'name': 'alex', 'age': 73, 'sex': 'male'},
    # {'name': 'egon', 'age': 20, 'sex': 'female'},
    # {'name': 'egon', 'age': 18, 'sex': 'male'},
    # {'name': 'egon', 'age': 18, 'sex': 'male'},
    # ]
    # l_new = list()
    # s = set()
    # for item in l:
    # res = (item['name'], item['age'], item['sex'])
    # if res not in s:
    # s.add(res)
    # l_new.append(item)
    #
    # print(l_new)
     
  • 相关阅读:
    忘记秘密利用python模拟登录暴力破解秘密
    ubuntu16.04 install qtcreator
    ubuntu16.04 pip install scrapy 报错处理
    Ubuntu18.04 和ubuntu16.04 apt源更新
    Ubuntu16.04主题美化
    ubuntu16.04上vue环境搭建
    基于fastadmin快速搭建后台管理
    python生成linux命令行工具
    nvidia驱动自动更新版本后问题解决 -- failed to initialize nvml: driver/library version mismatch
    学会使用Google搜索
  • 原文地址:https://www.cnblogs.com/lingmei/p/7510535.html
Copyright © 2011-2022 走看看