《Python语言程序设计》之第三次平时作业解析

《Python语言程序设计》之第三次平时作业解析

  • 程序填空题
  • 单项选择题

《Python语言程序设计》之第三次平时作业解析_第1张图片

程序填空题

下面程序的功能是从列表中筛选出字符串元素,并将它们连接为一个字符串。程序运行后的输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述
源程序:
s=’’
t=[123,‘AAA’,3.14,‘uestc’,True,‘BBB’,456]
for i in t:
if __________________________________________:
s+=i
else:
print(s)

答:

isinstance(i,str)

下面程序的功能是从键盘读入一个字符串,在文本块中查找该字符串,并输出它在文本块中的位置(用索引下标表示)。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
x=input(‘x=’)
s=‘xyzabcd’*2
t=[]
for i in range(len(s)-len(x)+1):
if x==__________________________________________:
t+=[i]
else:
print(t)

答:

s[i:i+len(x)]

下面程序的功能是将字符串中的子串“bcd”全部替换为字符串“AA”。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
x=‘bcd’
t=‘AA’
s=‘xyzabcd’*2
for i in range(len(s)-len(x)+1):
if x==s[i:i+len(x)]:
s=s[:i]+t+__________________________________________
else:
print(s)

答:

s[i+len(x):]

下面程序的功能是从键盘读入一个字符串,判断其是否是回文。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。注:回文是指一个字符串从左向右读与从右向左读相同。例如:noon,level,rotor,boob。
在这里插入图片描述

源程序:
s=input(‘s=’)
b=True
for i in range(len(s)//2):
if s[i]!= __________________________________________:
b=False
break
if b:
print(‘Yes’)
else:
print(‘No’)

答:

s[-(i+1)]

下面程序的功能是从键盘读入一个由阿拉伯数字组成的字符串(中间可以包含一个小数点),如果它是正整数,就删去其左端的所有0字符,如果它是正小数,就删去其两端的所有0字符,最后再将它转换为数值型数据(int或float)。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
s=input(‘s=’)
if ‘.’ in s:
x=float(__________________________________________)
else:
x=int(s.lstrip(‘0’))
print(x)

答:

s.lstrip('0')

下面程序的功能是从键盘读入一个英文句子,将其转换为标题格式,即每个单词的首字母大写。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
s=input(‘s=’)
s=s.split()
t=’’
for i in s:
if not i.istitle():
i=chr(ord(i[0])-32)+ __________________________________________
t+=i+’ ’
else:
t=t.strip()
print(t)

答:

i[1:]

下面程序的功能是从键盘读入一个由英文字母和阿拉伯数字组成的字符串,当该字符串满足英文字母和阿拉伯数字交替出现(即没有连续两个英文字母或连续两个阿拉伯数字出现)时,输出“Yes”,否则输出“No”。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

在这里插入图片描述

源程序:
import re
s=input(‘s=’)
z=re.search(’\d{2,}|[a-z]{2,}’,s, __________________________________________)
if(z):
print(‘No’)
else:
print(‘Yes’)
print(z)

答:

0
re.M|re.I

都可以,不太懂,看下面的题感觉0不太行,还是re.M|re.I好,re.I也行

Python 正则表达式|菜鸟教程

下面程序的功能是从键盘读入一个英语单词,判断该单词是否是以“er结尾”。如果该单词是以“er结尾”的,则输出“Yes”,否则输出“No”。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
import re
s=input(‘s=’)
z=re.search(,s,re.I)
if(z):
print(‘Yes’)
else:
print(‘No’)
print(z)

答:

'er$'

严谨一点可以不匹配非字母以外的字符,这里输入 12er 也会判断该单词是以er结尾的。

下面程序的功能是从键盘连续读入几个整数,整数之间用逗号分隔,求这些整数之和。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
import re
x=input(‘x=’)
t=re.split(’,’,x)
y=[__________________________________________ for i in t]
s=sum(y)
print(‘s={}’.format(s))

答:

int(i)

下面程序的功能是从键盘读入一个正方形矩阵的行数,用列表构造该方阵,将其两条对角线元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第2张图片
源程序:
n=eval(input(‘n=’))
t=[[0]*n for i in range(n)]
for i in range(n):
print(t[i])
for i in range(n):
t[i][i]=1
t[i][n-i-1]=1
for i in range(n):
for j in range(n):
print(‘t[{}][{}]={:❤️}’.format(______________________________,end=’’)
print()
for i in range(n):
print(t[i])

答:

i,j,t[i][j]

题目少了一个括号)

为什么会有一个爱心?

下面程序的功能是从键盘读入一个矩阵的行数和列数,用列表构造该矩阵,将其所有靠边的元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第3张图片
源程序:
m,n=eval(input(‘m,n=’))
t=[[1]*n for i in range(m)]
for i in range(m):
print(t[i])
for i in range(1,m-1):
for j in range(1, __________________________________________):
t[i][j]=0
print()
for i in range(m):
print(t[i])

答:

n-1

显而易见

下面程序的功能是将一个矩阵转置,然后再输出它。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。提示:矩阵转置就是将矩阵中t[i][j]与t[j][i]元素互换。
在这里插入图片描述
源程序:
t=[[1,2,3],[4,5,6],[7,8,9]]
for i in range(len(t)):
print(t[i])
for i in range(len(t)):
for j in range(i):
t[i][j],t[j][i]= __________________________________________
print()
for i in range(len(t)):
print(t[i])

答:

t[j][i],t[i][j]

显而易见*2

下面程序的功能是从键盘读入一个正方形矩阵的行数,用列表构造该方阵,将其右上三角元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第4张图片
源程序:
n=eval(input(‘n=’))
t=[[0]*n for i in range(n)]
for i in range(n):
print(t[i])
for i in range(n):
for j in range(__________________________________________,n):
t[i][j]=1
print()
for i in range(n):
print(t[i])

答:

i

显而易见*3

下面程序的功能是从键盘读入一个正方形矩阵的行数,用列表构造该方阵,将其左下三角元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第5张图片
源程序:
n=eval(input(‘n=’))
t=[[0]*n for i in range(n)]
for i in range(n):
print(t[i])
for i in range(n):
for j in range(n):
if(__________________________________________):
t[i][j]=1
print()
for i in range(n):
print(t[i])

答:

i>=j

下面程序的功能是从键盘读入一个正方形矩阵的行数,用列表构造该方阵,将其左上三角元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第6张图片

源程序:
n=eval(input(‘n=’))
t=[[0]*n for i in range(n)]
for i in range(n):
print(t[i])
for i in range(n):
for j in range(n):
if(__________________________________________ t[i][j]=1
print()
for i in range(n):
print(t[i])

答:

i+j

下面程序的功能是从键盘读入一个正方形矩阵的行数,用列表构造该方阵,将其主对角带元素设置为1,其余元素设置为0,然后按照矩阵形状输出该矩阵。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第7张图片

源程序:
n=eval(input(‘n=’))
t=[[0]*n for i in range(n)]
for i in range(n):
print(t[i])
for i in range(n):
if(i-1>=0):t[i-1][i]=1
t[i][i]=1
if(i+1 print()
for i in range(n):
print(t[i])

答:

i+1

下面程序的功能是从键盘读入一串字符,统计其中各个字符的出现次数,并输出出现频次最高的字符及其出现的次数。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
s=input(‘s=’)
t=list(s)
d={}.fromkeys(set(t), __________________________________________)
for i in t:
d[i]=d[i]+1
print(d)
n=max(d.values())
for k,v in d.items():
if(v==n):
m=k
break
print(“d[’{}’]={}”.format(m,n))

答:

0

下面程序的功能是从键盘读入正整数n,生成n个在[0,5]范围内的随机数,统计不同数字出现的次数,并按照升序输出之。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
import random
n=eval(input(‘n=’))
s=[random.randint(0,5) for i in range(n)]
print(s)
t=set(s)
d={}
for i in t:
__________________________________________=s.count(i)
print(d)
print(sorted(d.items()))

答:

d[i]

下面程序的功能是从键盘读入一串字符,删去重复字符(即重复字符只保留一个),最后输出之。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
s=input(‘s=’)
t=list(s)
x=__________________________________________
y=’’.join(x)
print(y)

答:

set(t)

下面程序的功能是从键盘读入一串字符,删去重复字符(即重复字符只保留一个),最后按照各个字符首次出现的次序输出之。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
s=input(‘s=’)
t=list(s)
x=’’
for i in t:
if i not in __________________________________________:
x+=i
print(x)

答:

x

下面程序的功能是将26个英文小写字母及其ASCII码组成一个字典,并输出之。程序运行后的输入输出情况如下图所示(由于篇幅限制,在此只显示前几个词条)。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
import string
c=string.ascii_letters
k=[(i, __________________________________________) for i in c if(i>=‘a’)]
d=dict(k)
for k,v in d.items():
print(“d[’{}’]={}”.format(k,v))

答:

ord(i)

下面程序的功能是从键盘读入某系统的5个登录账号和密码,并构建成字典,最后输出之。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
《Python语言程序设计》之第三次平时作业解析_第8张图片

源程序:
d=__________________________________________
for i in range(3):
n=input(‘name=’)
k=input(‘key=’)
d[n]=k
print(d)

答:

{
     }

这种题确定不是在逗我?

下面程序的功能是实现数字加密功能。将10个阿拉伯数字分别用10个英文字母表示。读入一个数字字符串,将其转换为密文并输出之。程序运行后的输入输出情况如下图所示。请在横线处填写适当的语句或表达式将程序补充完整。
在这里插入图片描述

源程序:
m=list(‘0123456789’)
n=list(‘cbafedhgji’)
d=dict(zip(__________________________________________))
print(d)
s=input(‘s=’)
t=[d[i] for i in s]
x=’’.join(t)
print(x)

答:

m,n

编写一段程序实现下面的功能:从键盘读入秘钥数字和明文,使用凯撒密码算法,将明文加密为密文。
提示:恺撒密码是一种替换加密的技术,明文中的所有字母都在英文字母表上向后(或向前)按照一个固定数目(秘钥)进行偏移后被替换成密文。例如,当偏移量是3(即key=3)的时候,所有的字母A将被替换成D,B变成E,以此类推,W变成Z,X变成A,Y变成B,Z变成C。
在这里插入图片描述

例如:明文=hello,则对应的密文=khoor。

答:

key=int(input('key='))
s=input('s=')
c=''

for i in s:
    if i.isalpha():
        temp=ord(i)+key
        if chr(temp).isalpha():
            c+=chr(temp)
        else:
            c+=chr(temp-26)
    else:
        c+=i
        
print(c)

注意越界,比如z-c

编写一段程序实现下面的功能:随机产生一个长度为10的任意字符串(见下面的代码段),将其中的英文字母、阿拉伯数字和其他字符筛选出来各自单独组成一个字符串。例如:
随机字符串是:‘a@B23#c&4dE*?5’,将被拆分为三个字符串:‘aBcdE’,‘2345’,’@#&*?’。
import re,string,random
c=string.ascii_letters+string.digits+string.punctuation
t=[random.choice© for i in range(10)]
s=’’.join(t)
print(s)

答:

import re,string,random
c=string.ascii_letters+string.digits+string.punctuation
t=[random.choice(c) for i in range(10)]
s=''.join(t)
print(s)

s1=''
s2=''
s3=''

for i in s:
    if i.isalpha():
        s1+=i
    elif i.isdigit():
        s2+=i
    else:
        s3+=i

print(s1)
print(s2)
print(s3)

还是这种题有点意思,比填空好多了

单项选择题

《Python语言程序设计》之第三次平时作业解析_第9张图片

第92题有点问题。
《Python语言程序设计》之第三次平时作业解析_第10张图片
菜鸟教程上写的是- > & > ^ = |,另一个博客上写的是 - > & > ^ > |,我选择相信博客的说法。
《Python语言程序设计》之第三次平时作业解析_第11张图片
《Python语言程序设计》之第三次平时作业解析_第12张图片

众所周知,这是一篇让你在享受完白嫖的快乐后,能够思考人生哲理,升华自己灵魂的博客。尤其是博客的最后一部分,有些同学看到这里就直接溜了,放弃了提升自己改变人生的机会,让我感到非常的惋惜。今天呢,不教大家什么人生哲理,而是谈一谈我对于这些意★义★不★明的题目的看法。

这是我第三次做这种毫无意义的题目了,做题时,我的世界都变得阴暗了起来,心情异常狂躁,就不能整点阳间的题目吗?对比一下,马图都显得可爱了许多。呐呐,这个世界会好吗,错的不是我,而是この世界。

古话说的好:事不过三,可能第四次作业我就不会再做了,或者等期末考完再做。再一想,纵观我所有的博客,只有作业解析类的博客阅读量较高,其他博客只要寥寥100+阅读量,这不禁让我陷入了沉思…

所以,我隆重推出点赞银行系统,就是大家多多点赞我的博客,算作你的存款,再点个收藏记住这笔存款,还能定时吃利息,这就很舒服。那么怎么取出来呢, 你想取出来就艾特我一下,我去你博客里点赞,完成提现。哇,真的巨**划算。

所以说,你的小小的点赞、收藏,加转发,能给一个默默无名的博客人一丝丝的安慰,你的一键三连,就是对我最大的鼓励,相信我,你一定能变成光!!!
(顺便看看我的其他博客,等报告提交时间截止了,我就设为公开,干货满满,都是我踩坑踩出来的血泪之路)

最后的最后是一段看图猜话,请问在这个gif中,卢本伟说了什么?
(提示:如果我没记错,这应该是他澄清吃鸡开挂的那个视频,有剪辑的痕迹,是一段话)
知道的老哥请在评论区指出,我现在真的想快进到放假,这样我又能去做鬼畜视频了呜呜呜。
《Python语言程序设计》之第三次平时作业解析_第13张图片

你可能感兴趣的:(Python,python,正则表达式,字符串)