Python基础数据类型考试题
# Python基础数据类型考试题
# 考试时间:两个半⼩时满分100分(80分以上包含80分及格)
# ⼀,基础题。
# 1,简述变量命名规范(3分)
# 1、变量由字母、数字、下划线任意组成
# 2、不能以数字开头
# 3、不能使⽤python关键字
# 4、变量要具有可描述性
# 5、变量不能是中⽂
# 5、官⽹推荐骆峰体和下划线,这⾥推荐下划线
# 2,字节和位的关系。(2分)
# 1字节 = 8位
# 3,’太⽩’使⽤utf-8编码时,占的位数和字节数,是多少?使⽤gbk编码时,占的位数
# 和字节数,是多少。(2分)
# 太⽩      utf-8    位数:48          字节:6
#        gbk        位数:32      字节:4
# 4,默写字符串的⼗⼆个功能,并描述其作⽤。(12分)
#    1、capitalize()  ⾸字母⼤写
#    2、upper()  字符串全部⼤写
#    3、lower()  字符串全部⼩写
#    4、format()  格式化输出
朗文词典syn什么意思#    5、strip()  去字符串左右空格,tab,换⾏符
#    6、replace() 字符串替换
#    7、lstrip()  去字符串左边空格,tab,换⾏符
#    8、rstrip()  去字符串右边边空格,tab,换⾏符
#    9、startswith()  检测字符串是否是相同的开头,结果是True,False
#    10、endswith()  检测字符串是否是相同的结尾,结果是True,False
#    11、swapcase()  字符串⼤⼩写翻转
#    12、title()  字符串每个由⾮字母隔开的单词⾸字母⼤写
#    13、isdigit()    是否全部是数字
#    14、isalpha()    是否全部是字母
#    15、isalnum()    是否数字字母组成
#    16、count()  个数
#    17、center()  居中,可以填写填充物
# 5,数字,字符串,列表,元祖,字典对应的布尔值的False分别是什么?(5分)
# 数字:0
# 字符串:空字符串
pom文件parent标签# 列表:空列表
# 元组:空元组
# 字典:空字典
# 6,书写Python2与python3中的三个不同。(3分)
# python2:代码混乱、冗余    ASCII  交互:raw_input()
# python3:代码简明、优美    UTF-8  交互:input()
# 7,写代码,有如下列表,利⽤切⽚实现每⼀个功能(每题⼀分,共计4分)
# li = [1,3,2,’a’,4,’b’,5,’c’]ascii码表共有128个字符
# 1)通过对li列表的切⽚形成新的列表l3,l3 = [’1,2,4,5]
# 2)通过对li列表的切⽚形成新的列表l4,l4 = [3,’a’,’b’]
# 3)通过对li列表的切⽚形成新的列表l5,l5 = [‘c’]
# 4)通过对li列表的切⽚形成新的列表l6,l6 = [‘b’,’a’,3]
# 1
# l3 = li[::2]
# 2
# l4 = li[1:-2:2]
# 3
网页电子商城免费模板
# l5 = li[-1:]
# 4
# l6 = li[-3::-2]
# 8,组合嵌套题。
# a,写代码,有如下列表,按照要求实现每⼀个功能(每题3分,写出⼀种⽅法得1分,写出两种⽅法的3分。此题共9分)# (每个都是⼀⾏代码实现)
# lis = [[‘k’,[‘qwe’,20,{‘k1’:[‘tt’,3,’1’]},89],’ab’]]
# 1)将列表lis中的’tt’变成⼤写(⽤两种⽅式)。
# 2)将列表中的数字3变成字符串’100’(⽤两种⽅式)。
# 3)将列表中的字符串’1’变成数字101(⽤两种⽅式)。
# 1
# lis[0][1][2]['k1'][0] = lis[0][1][2]['k1'][0].upper()
# lis[0][1][2]['k1'][0] = 'TT'
# 2
# lis[0][1][2]['k1'][1] = str(lis[0][1][2]['k1'][1] + 97)
# lis[0][1][2]['k1'][1] = '100'
# 3
# lis[0][1][2]['k1'][2] = 101
# lis[0][1][2]['k1'][2] = int( '10' + lis[0][1][2]['k1'][2])
# b,写代码,有如下字典,按照要求实现每⼀个功能(5分)
# dic = {‘k1’:’v1’,’k2’:[‘alex’,’sb’],(1,2,3,4,5):{‘k3’:[‘2’,100,’wer’]}} # 1)将’k2’对应的值的最后⾯添加⼀个元素’23’。
# 2)将’k2’对应的值的第⼀个位置插⼊⼀个元素’a’。
# 3)将(1,2,3,4,5)对应的值添加⼀个键值对’k4’,’v4’。
# 4)将(1,2,3,4,5)对应的值添加⼀个键值对(1,2,3),’ok’。
# 5)将’k3’对应的值的’wer’更改为’qq’。
#    # 1
#    dic = {'k1':'v1','k2':['alex','sb'],(1,2,3,4,5):{'k3':['2',100,'wer']}} #    dic['k2'].append('23')
#    # 2
#    dic['k2'].insert(0,'a')
#    # 3
素材网的素材可以商用吗#    dic[(1,2,3,4,5)]['k4'] = 'v4'
#    # 4
#    dic[(1,2,3,4,5)][(1,2,3)] = 'ok'
#    # 5
#    dic[(1,2,3,4,5)]['k3'][2] = 'qq'
# 9,转化题(4分)。
#
# Int与str之间如何转化,转换的结果是什么?有没有条件?#int加''变成str  str必须是数字才能转化为int
# Int 与 bool之间如何转化,转换的结果是什么?有没有条件? # False---->int  0    True---->int 1
# ⾮0即为真,0为假
# str 与 bool之间如何转化,转换的结果是什么?有没有条件?
#空字符串转化为bool值为False  其他为True
# str 与 list 能否转化?如何转化?
#能转化,⽤split
# 10,实现下列结果(5分)。
# 1)有列表li = [‘alex’,’wusir’,’rain’]通过操作该列表构造⼀个字符串s=’alexwusirrain’# 2)有列表li = [‘alex’,’wusir’,’rain’]通过操作该列表构造⼀个字符串s=’alex*wusir*rain’# 3)有字符串s = ‘alexwusirlex’,通过操作该字符串构造⼀个列表li = [‘a’,’exwusirlex’] # 4)有字符串s = ‘alex wusir’,通过操作该字符串构造⼀个列表li = [‘alex’,’wusir’]
# 5)有字符串s = ‘alex’通过操作该字符串构造⼀个字符串s1 = ‘a_l_e_x’
li = ['alex','wusir','rain']
# 1
s = li[0]+li[1]+li[2]
# 2
s = '*'.join(li)
# 3
li = s.split("l",1)
# 4
python基础代码作业li = s.split(' ')
# 5
s1 = '_'.join(s)
# 11,分别使⽤while循环,和for循环打印1-2++99的结果。(10分)
#    第⼀种
i = 1
summ = 0
while i < 100:
if i % 2 == 0:
summ -= i
else:
summ += i
i += 1
print(summ)
#      第⼆种
summ = 0
for i in range(1,100):
if i % 2 == 0:
summ -= i
else:
summ += i
print(summ)
# 12,使⽤range打印100,99,98,....1,0(2分)
# for i in range(100,-1,-1):
#    print(i)
# 13,计算⽤户输⼊内容中索引为奇数并且对应的元素为数字的个数(没有则个数为零)(6分)
count =0
num_input = input('请输⼊内容:')
for i,v in enumerate(num_input):
if i % 2 == 1 and v.isdigit():
count += 1
print(count)
# 14,补充代码(从已有的代码下⾯继续写):(6分)
# 有如下值li= [11,22,33,44,55,77,88,99,90],将所有⼤于 66 的值保存⾄字典的第⼀个key中,将⼩于 66 的值保存⾄第⼆个key的值中。# li = [11,22,33,44,55,77,88,99,90]
# result = {}
# for row in li:
# ......
⽅法1(更加实⽤):
li= [11,22,33,44,55,77,88,99,90]
result = {}
for row in li:
if row > 66:
if 'key1' not in result:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。