版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章节练习题一、选择题1)已知列表x=[1,2,3],那么执行语句x.insert(1,4)后,x的值为()。A、[1,4,2,3] B、[1,4,2]C、[1,2,3,4] D、[1,1,4,2,3]2)关于Python组合数据类型,以下选项中描述错误的是()A、tuple类型的元素不可以进行“追加”操作。B、list类型的元素可以修改。C、tuple类型的元素不可修改。D、Python的set、tuple和list类型都属于序列类型。3)下列数据中属于列表的是()A、(198,"Python",18.5,-5.6) B、198,"Python",18.5,-5.6C、{198,"Python",18.5,-5.6} D、[198,"Python",18.5,-5.6]4.)以下关于字典类型的描述,正确的是()A、字典类型可迭代,即字典的值还可以是字典类型的对象
B、表达式forxmd:中,假设d是字典,则x是字典中的键值对
C、字典类型的键可以是列表和其他数据类型
D、字典类型的值可以是任意数据类型的对象5)以下关于字典类型的描述,错误的是()A、字典类型是一种无序的对象集合,通过键来存取B、字典类型可以在原来的变量上增加或缩短C、字典类型中的数据可以进行分片和合并操作D、字典类型可以包含列表和其他数据类型,支持嵌套的字典二、操作题1.完成列表以下的基本操作:创建一个空列表,命名为sutdentlists,往里面添加Lily、Bob、Jack、xiaohong、Luxi和Tom元素。往sutdentlists列表里Tom前面插入一个Blue。把sutdentlists列表中xiaohong的名字改成中文“小红”。往sutdentlists列表中Bob后面插入一个子列表["oldboy","oldgirl"]。
返回sutdentlists列表中Tom的索引值(下标)。创建新列表[1,9,3,4,9,5,6,9,0],合并到sutdentlists列表中。取出sutdentlists列表中索引4-7的元素。取出sutdentlists列表中索引2-10的元素,步长为2。取出sutdentlists列表中最后3个元素。循环sutdentlists列表,打印每个元素的索引值和元素。循环sutdentlists列表,打印每个元素的索引值和元素,当索引值为偶数时,把对应的元素改成-1。sutdentlists列表里有3个9,请返回第二个2的索引值。2.判断季节问题。要求用户输入月份,判断这个月是哪个季节。规则要求:3,4,5月为春季6,7,8月为夏季9,10,11月为秋季12,1,2有为冬季。请用分别用列表、字典两种方法完成。3.利用下划线将列表的每一个元素拼接成字符串,li=['python','code','word']。4.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。请用分别用列表、字典两种方法完成。5.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。6.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个6位密码。7.参照下表的要求,为每一种银行卡生成指定数量的号码,每个号码不能重复,每个卡号对应一个6位数的密码,密码由纯数字组成。卡号中的每四位数字用“-”分隔连接。表三种银行卡号银行名称位数前6号张数A银行16622525100张B银行16622538150张C银行1662257580张
第5章节练习题的参考答案一、选择题1 2 3 4 5A A D D C二、操作题第1题##完成列表以下的基本操作#1) 创建一个空列表,命名为sutdentlists,往里面添加Lily、Bob、Jack、xiaohong、Luxi和Tom元素。sutdentlists=list()sutdentlists=['Lily','Bob','Jack','xiaohong','Luxi','Tom']print(sutdentlists)#2) 往sutdentlists列表里Tom前面插入一个Blue。sutdentlists.insert(5,'Blue')print(sutdentlists)#3) 把sutdentlists列表中xiaohong的名字改成中文“小红”。sutdentlists[3]='小红'print(sutdentlists)#4) 往sutdentlists列表中Bob后面插入一个子列表["oldboy","oldgirl"]。list2=["oldboy","oldgirl"]sutdentlists.append(list2)print(sutdentlists)#5) 返回sutdentlists列表中Tom的索引值(下标)。print(sutdentlists.index('Tom'))#6) 创建新列表[1,9,3,4,9,5,6,9,0],合并到sutdentlists列表中。list3=[1,9,3,4,9,5,6,9,0]sutdentlists.extend(list3)print(sutdentlists)#7) 取出sutdentlists列表中索引4-7的元素。print(sutdentlists[4:8])#8) 取出sutdentlists列表中索引2-10的元素,步长为2。print(sutdentlists[2:11:2])#9) 取出sutdentlists列表中最后3个元素。print(sutdentlists[-3::])#10) 循环sutdentlists列表,打印每个元素的索引值和元素。#foroneinsutdentlists:
#print(one)#11) 循环sutdentlists列表,打印每个元素的索引值和元素,当索引值为偶数时,把对应的元素改成-1。i=0foroneteaminsutdentlists:print('每个元素的索引值和元素',i,oneteam)ifi%2==0:print("索引值为偶数",i,"-1")i=i+1#12) sutdentlists列表里有3个9,请返回第二个2的索引值。num=sutdentlists.index(9)print('第一个索引值',num)sutdentlists2=sutdentlists[num+1:]#切片一个新列表sutdentlistsprint(sutdentlists2.index(9))第2题#判断季节问题。要求用户输入月份,判断这个月是哪个季节。规则要求:3,4,5月为春季6,7,8月为夏季#9,10,11月为秋季12,1,2有为冬季。请用分别用列表、字典两种方法完成。##第一种方法list:使用双重列表的方法month=int(input("请输入月份:"))month_list=[[3,4,5,"春季"],[6,7,8,"夏季"],[9,10,11,"秋季"],[12,1,2,"冬季"]]ifmonthinrange(1,13):foriinrange(len(month_list)):ifmonthinmonth_list[i]:print(month,"月是",month_list[i][-1])else:print("输入的月份不对")##第二种方法listmonth1=list(range(0,13))#定义月份,有1至12print(month1)inpuntmonth=int(input("请输入月份:"))num=month1.index(inpuntmonth)if(num>=3andnum<=5):print("春季")elif(num>=6andnum<=8):print("夏季")
elif(num>=9andnum<=11):print("秋季")elif((num>=1andnum<=2)ornum==12):print("冬季")#字典的方法dict1={3:"春季",4:"春季",5:"春季",6:"夏季",7:"夏季",8:"夏季",9:"秋季",10:"秋季",11:"秋季",12:"冬季",1:"冬季",2:"冬季"}inpuntmonth2=int(input("请输入月份:"))ifinpuntmonth2>=1andinpuntmonth2<=12:#print('数据合法')print(dict1.get(inpuntmonth2))else:print('数据不合法')第3题#3.利用下划线将列表的每一个元素拼接成字符串,li=['python','code','word']。li=['python','code','word']separator1='_'#分隔连接字符,以一个下划线str1=separator1.join(li)print(str1)第4题#4.程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。请用分别用列表、字典两种方法完成。列表方法list1=['星期一','星期二','星期三','星期四','星期五','星期六','星期日']num=int(input('输入星期数字1-7:'))ifnum>=1andnum<=7:print('数字对应的星期是',list1[num-1])else:print("数字范围不正确。")#字典方法dict2={1:'星期一',2:'星期二',3:'星期三',4:'星期四',5:'星期五',6:'星期六',7:'星期日'}num2=int(input('输入星期数字1-7:'))ifnum2>=1andnum2<=7:print('数字对应的星期是',dict2.get(num2))else:print("数字范围不正确。")
第5题#5.英文字符频率统计。编写一个程序,对给定字符串中出现的a~z字母频率进行分析,忽略大小写,采用降序方式输出。letter_list=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']str1='12-9fsdfDDOKMLPJ3399JDJkjsdfsd-0234d英文字符频率统计'#随便给定一个字符串#str1=input('请输入一个字符串,至少包含一些a~z字母:')#让用户输入一个字符串也行list1=list(str1)#把字符串转换为列表print("原始字符串:",list1)dict1={}#定义一个空白的字典,用于存储字母词频#遍历列表词频统计foroneWordinlist1:oneWord_temp=str(oneWord).lower()#lower()小写ifoneWord_tempinletter_list:dict1[oneWord_temp]=dict1.get(oneWord_temp,0)+1#字母频率存入字典#对词频进行排序listofdict1=list(dict1.items())#转化成列表的形式listofdict1.sort(key=lambdax:x[1],reverse=True)#按次数从大到小排序print("字频结果:",listofdict1)第6题#6.随机密码生成。编写程序,在26个字母大小写和9个数字组成的列表中随机生成10个6位密码。##输出小写:找到小写a(97)到z(122)的的ASCII码,然后转义为字母#lower=""#foriinrange(97,123):#lower+=chr(i)#print('%s'%lower)#
##输出大写:找到大写A(65)到Z(90)的的ASCII码,然后转义为字母#upper=""#foriinrange(65,91):#upper+=chr(i)#print('%s'%upper)importrandomprint(ord('A'))#A的编码是65,不用忘记65,只需要用ord()转换出来print(ord('a'))print(ord('0'))list1=[]#生成密码的原始字符#存入大字foriinrange(26):list1.append(chr(i+ord('A')))#存入小字foriinrange(26):list1.append(chr(i+ord('a')))#存入数字foriinrange(10):list1.append(chr(i+ord('0')))print(list1)forkinrange(10):password=""forjinrange(8):index=int(random.randint(1,26+26+10-1))password+=list1[index]print('第',k+1,'组:',password)第7题importrandom#使用随机数,需要引入random库#1.初始化字典dictLuckyNumber={}#定义空白字典dictLuckyBIN={'622525':100,'622538':150,'622575':80}#银行卡的起始特征号字典,按需要设定#2.银行卡号码和密码的随机生成forLuckyBIN,LuckyCountindictLuckyBIN.items():i=0#每种卡数量的计算值foriinrange(0,LuckyCount):#LuckyCount是多少张卡号number=random.randrange(100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省靖江市实验学校2025-2026学年九年级下学期3月阶段检测历史试题(含解析)
- 纬创资通昆山2022技术面核心考点及真题答案
- 2020中信证券社招IT技术岗笔试题及答案高分必刷
- 2026年9行人格测试题及答案
- 2026年初级海外优化师面试题库及答案 跨境电商优化岗求职避坑神器
- 2026潍坊教育优才计划笔试历年进面分数线+真题答案
- 2022汾酒厂招聘笔试往届考生回忆真题及答案
- 2023甘肃法宣在线行政法专项试题及100%正确答案
- 2026年有关选专业的测试题及答案
- 什么叫财产分割协议书公证
- DB1304T 400-2022 鸡蛋壳与壳下膜分离技术规程
- 广西玉林市2024-2025学年下学期七年级数学期中检测卷
- 别墅装修全案合同样本
- 侨法宣传知识讲座课件
- DB35∕T 84-2020 造林技术规程
- 企业研究方法知到智慧树章节测试课后答案2024年秋华东理工大学
- 《交易心理分析》中文
- DB50-T 547-2024 消防安全管理标识
- DB11 994-2021 平战结合人民防空工程设计规范
- 家庭医生签约服务手册
- 2023-2024学年山东省青岛胶州市、黄岛区、平度区、李沧区中考冲刺卷数学试题含解析
评论
0/150
提交评论