試卷征集
加入會員
操作視頻
當前位置: 試卷中心 > 試卷詳情

浙教版(2019)必修1《第三章 算法的程序實現》2022年單元測試卷(5)

發(fā)布: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)#寫入文件
    該程序段采用的算法是
     
    (單選,填字母:A.解析算法/B.枚舉算法)。
    (2)讀寫文本文件,如下的readfile函數,逐行讀取文本文件數據存入列表并返回。請在橫線處填入合適的代碼。
    def readfile(filename):
    f=open(filename,encoding=“utf-8“)#打開文件
    text=[]
    line=f.readline( ?。?從文件中讀取一行
    while line:
    text.jye.ai(line)#添加到列表
    line=f.readline( ?。?br />f.jye.ai( ?。?br />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
APP開發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應用名稱:菁優(yōu)網 | 應用版本:5.0.7 |隱私協議|第三方SDK|用戶服務條款
本網部分資源來源于會員上傳,除本網組織的資源外,版權歸原作者所有,如有侵犯版權,請立刻和本網聯系并提供證據,本網將在三個工作日內改正