浙教版(2019)必修1《第三章 算法的程序实现》2022年单元测试卷(5)
发布:2024/4/23 12:26:7
一、选择题
-
1.查找与替换。从键盘上分别输入要查找和替换的字符串,对文本文件进行查找与替换,替换后保存到新的文本文件中。完成查找与替换功能的思路是:首先可从待检索文本文件“in.jye.ai”逐行读取文本内容到列表text,然后从键盘上输入查找的字符串key和替换的字符串new,对列表text中的元素逐个进行查找并替换,结果保存到列表result,最后将result 写入文件“out.jye.ai”。
(1)主程序。
text=readfile(“in.jye.ai“)#读入文件
key=input(“请输入要查找的字符串:“)
new=input(“请输入要替换的字符串:“)
result=[]
for line in text:
newline=replace(key,new,line)#替换
result.append(newline)#添加到列表
writefile(“out.jye.ai“,result)#写入文件
该程序段采用的算法是
(2)读写文本文件,如下的readfile函数,逐行读取文本文件数据存入列表并返回。请在横线处填入合适的代码。
def readfile(filename):
f=open(filename,encoding=“utf-8“)#打开文件
text=[]
line=f.readline( )#从文件中读取一行
while line:
text.jye.ai(line)#添加到列表
line=f.readline( )
f.jye.ai( )
return
def writefile(filename,text):
#将text写入filename文件,代码略
(3)查找字符串,如下的findstr函数,在字符串line中从begin位置开始查找key在字符串line中的位置,请在横线处填入合适的代码。
def findstr(key,line,begin):
for i in range(begin,len(line)-len(key)+1):
if :
return i
return-1
(4)替换字符串。如下的replace函数,在字符串line中检索所有的字符串key并替换为new,请在横线处填入合适的代码。
def replace(key,new,line):
begin=0
while begin<len(line)-len(key)+1:
pos=findstr(key,line,begin)
if pos==-1:
else:
line=line[0:pos]+new+line[pos+len(key):len(line)]
begin=pos+len(key)
return line组卷:0引用:2难度:0.3