3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1

2024-08-13
| 16页
| 172人阅读
| 0人下载

内容正文:

3.2 Python语言程序设计 一、选择题 1.下列代码的输出结果是(   ) m=[6,7, "你好!", "123"] m. insert(2,3) print(m) A.[6,7, "你好!", "123", 2, 3] B.[6,3,7, "你好!", "123"] C.[6, 7, "你好!", "123", 3] D.[6,7,3, "你好!", "123"] 2.Python源程序执行的方式是(   ) A.编译执行 B.解释执行 C.直接执行 D.边编译边执行 3.有如下Python程序段: p="Lucky-789" c="" for ch in p:     if ch>="A" and ch<="Z":        c+=chr(ord(ch)-ord("A")+ord("a"))     if ch>="a" and ch<="z":        c+=chr((ord(ch)-ord("a")-1)%26 + ord("a"))     else:        c = ch +c print(c) 程序段运行后,输出的结果是(   ) A.987-ltbjx B.ltbjx-789 C.987-Lltbjx D.lLtbjx-789 4.在python中,以下表达式的运算结果为2的是(   ) A.16/8 B.16%8 C.16//8 D.16**8 5.有如下Python程序段: s=input("请输入字符串:") k=1 ch=s[0] for i in range(1,len(s)):    if k==0:       ch=s[i]       k=1    else:       if ch==s[i]:          k=k+1       else:          k=k-1 print(ch) 输入以下字符串,并运行程序段后,ch的值不为“K”的是:(  ) A.KKSKT B.STTKK C.TKKSK D.TKTTK 6.有如下 python 程序段: m=int(input()) def dex_oct(m): if m>=8: dex_oct(m//8) print(m%8,end='') else: print(m,end='') dex_oct(m) 运行该程序时,如果输入 15,则输出的结果是( ) A.81 B.71 C.17 D.18 7.编写Python程序,模拟“石头剪刀布”的游戏,实现电脑随机输出“石头”、“剪刀”、“布”。函数功能表如下: 名称 含义 random. random() 随机生成一个[0,1)范围内的实数 random. randint(a, b) 随机生成一个[a,b]范围内的整数 random. sample(seq, k) 从序列中随机挑选k个元素 random. shuffle(seq) 将序列的所有元素随机排序 下列代码段中能够实现该功能的是(    ) ① ② import random a={0:"石头",1:"剪刀",2:"布"} b=int(random.random()*2) print(a[b]) import random a={0:"石头",1:"剪刀",2:"布"} b=random. randint(0,2) print(a[b]) ③ ④ import random a=["石头","剪刀","布"] b=random. sample(a,1) print(b[1]) import random a=["石头","剪刀","布"] random. shuffle(a) print(a[1]) A.①③ B.①④ C.②③ D.②④ 8.下列表达式中,运算结果为True的是(    ) A.“A”<“e” B.“32”>“ab” C.3+4y>5-2y D.not(7>=0 and 30>=5) 9.在Python中,执行以下程序后,变量x的值可能范围是( )。 import random x1=random.random() x2=random.randint(0,10) x=x1*x2 print(x) A.[0,10] B.[0,10) C.[0,100] D.[0,100) 10.以下表达式结果为5的是(    ) A.input(5.0) B.int(5.8) C.print('Haian') D.float(5) 11.有如下python程序段: def fab(a,b):   if a%b==0:     return   elif a>b:     fab(a-b,b)     print(1,end="")   else:     fab(a,b-a)     print(2,end="") fab(126,156) 程序运行后,输出的2的个数是(   ) A.3 B.4 C.5 D.6 12.某二分查找算法的 python 程序段如下, 运行该段代码后, 输出的结果不可能是(   ) import random a = [10,20,30,40,50,60,70,80] key = random.choice(a); i,j = 0,len(a)-1 ; s = "" while i<=j: m = (i+j)//2 if key == a[m]: s = s+"M"; break elif key < a[m]: j = m-1; s = s+"L" else: i = m+1; s = s+"R" print(s) A.LLM B.LRM C.RRRM D.RRLM 13.某Python程序如下: item={"竞技类":["铁人三项","电子竞技","霹雳舞"],"球类":["足球","篮球","乒乓球"],"对抗性":["拳击","跆拳道","卡巴迪","击剑"],"水上":["跳水","龙舟","帆船"]} print(item["对抗性"][2][::-1]) 执行该程序段后,输出的结果是(    ) A.跆拳道 B.道拳跆 C.卡巴迪 D.迪巴卡 14.某Python程序如下: s=input("请输入字符串:") ans="" a=[1,2,3] for i in range(len(s)):    x=s[i]    key=a[i%3]    if"A"<=s[i]<="Z":      ans=ans+chr((ord(x)-65+key)%26+65)    else:       ans=ans+x print(ans) 执行该程序后,输入"A1b2D3"输出的结果为(    ) A.32b1BF B.B1b2F3 C.B3e3F6 D.6F3e3B 15.如图所示的车牌,经过如下Python程序处理后,“cp.txt”文件得到的效果是(    ) from PIL import Image f=open(“cp.txt”,“w”)            #以写入模式打卡“cp.txt”文件 im=Image.open(“cp.jpg”) im=im.convert(“L”) im=im.resize((90,21))            #将图片尺寸大小修改为90*21 pix=im.load()                    #读取所有像素点的颜色值 for j in range(im.size[1]):    ans=“”    for i in range(im.size[0]):       if pix[i,j]>=128:          r=“*”       else:          r=“”       ans+=r    ans=ans+“\r ”                    #“\r ”表示回车换行    f.write(ans) f.close() A. B. C. D. 16.有如下Python 程序段: s=input() y="" for i in range(len(s)):    c=s[i]    if c>="A" and c<="Z":       c=chr(ord(c)+3)    y=c+y print(y) 运行上述程序,若输入的s内容为“A1b2C3”,则显示的是:(  ) A.A1b2C3 B.D1b2F3 C.3F2b1D D.3C2b1A 17.有如下Python程序段: import random a=[0]*6 for i in range(1,6):    a[i]=random. randint(1,9)    if i%2==a[i]%2:       a[i]+=1    else:       a[i]+=a[i-1] 执行该程序段后,a的值不可能的是(   ) A.[0,4,5,7,12,10] B.[0,8,9,8,16,21] C.[0,8,5,10,19,4] D.[0,4,7,15,9,6] 18.执行如下程序段,下列说法正确的是(    ) from random import randint a=[2, 3, 3, 5,9, 10,13,13,15,19] i, j, c=0,9,0 key=randint(0,10) if key>5:key=key+5 while i<=j:     m=(i+j)//2     c+=1     if a[m]>key:            j=m-1     else:           i=m+1 A.变量c的值一定是4 B.变量i的值可能是7 C.a[i]的值可能等于key D.变量m和变量j的值可能相等 二、填空题 19.Python表达式50-9*3%4的运算结果是 。 20.循环控制可能使用 语句和continue语句控制循环的跳转。 21.表示x在区间(a,b]内的Python表达式是 。 22.有如下Python程序: inp=input(“May i have your name? ”).split() family_name= print(“It's nice to meet you ”+family_name) 运行该程序,其输入输出样例如下: 或: 请根据程序功能补全代码。 23.阅读以下程序,写出程序运行结果。 def jc(n): s=1 for i in range(2,n+1): s=s*i return s total=jc(4)    #调用jc函数 print(total) 程序运行后,其输出结果为 三、判断题 24.在定义函数时,某个参数名字前面带有两个*符号表示可变长度参数,可以接收任意多个关键参数并将其存放于一个字典之中。( ) 25.在Python中,print("abc" * 3)的执行结果是"abcabcabc"。( ) 26.下列程序段中,赋值语句 s=s+i 被重复执行了 3 次。( ) s=0 for i in range(3,10,2):     s=s+i 27.计算机程序能重复使用。( ) 28.python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。   ( ) 四、操作题 29.用Python编辑器打开“Y:\404”文件夹中的文件“dm7.py”,按照下列步骤顺序,逐条写出相应的代码,运行程序,并以原文件名和路径保存程序。 (1)将数值3.14赋给变量pi; (2)将数值5赋给变量r; (3)将表达式4/3*pi*r**3的值赋给变量v; (4)将函数round(v,2)的值赋给变量d; (5)使用输出语句在屏幕上输出d的值。 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.D 【详解】本题考查Python程序设计相关内容。insert(index,obj)函数作用是在index位置插入元素obj,因列表下标从0开始,m=[6,7,"你好!", "123"],执行m. insert(2,3)后,在m下标为2的位置插入3,即m=[6,7,3, "你好!", "123"],故本题答案是D选项。 2.B 【详解】本题考查Python基础。 解释执行是指源代码在执行之前不需要经过编译成机器语言,而是直接由解释器逐行解释执行。Python源代码文件(.py文件)由Python解释器读取并执行,解释器将源代码转换为字节码(一种中间形式),然后解释执行这些字节码。故正确答案为:选项B。 3.C 【详解】本题考查Python程序设计相关内容,本题涉及到字符串相关知识。分析程序段: if ch>="A" and ch<="Z":      c+=chr(ord(ch)-ord("A")+ord("a")) #将大写字母ch转小写,存入c if ch>="a" and ch<="z":      c+=chr((ord(ch)-ord("a")-1)%26 + ord("a"))  #将小写字母ch左移1位,存入c else:       c = ch + c  #将非小写字母ch 倒存入c 经过程序运行,"Lucky-789"转换为:"987-Lltbjx"。故本题答案是C选项。 4.C 【详解】本题主要考查Python表达式的运算。16/8=2.0,16%8=0,16//8=2,16**8=4294967296,故本题选C选项。 5.D 【详解】本题主要考查Python程序的执行。依次带入选项字符串,输出的ch值依次是“K”、“K”、“K”、“T”,故本题选D选项。 6.C 【详解】本题考查Python程序。用户输入数字 m,即输入 15。 程序调用 dex_oct 函数,并将输入的数字传递给该函数。 dex_oct 函数进行八进制转换,通过递归调用自身实现对输入数字 m 的八进制转换。 输出的结果是将每次转换得到的余数逆序输出,即 15 转换为八进制为 17。 故答案为:C。 7.D 【详解】本题主要考查Python随机函数。random. random()随机生成一个[0,1)范围内的实数,b=int(random.random()*2),则b可以取0和1;random. randint(a, b)随机生成一个[a,b]范围内的整数,b=random. randint(0,2),则b可以取0、1、2,故②可行;random. sample(seq, k)从序列中随机挑选k个元素,b=random. sample(a,1),则b中只有1个元素,b[1]会存在溢出的错误;random. shuffle(seq)将序列的所有元素随机排序,random. shuffle(a),a[1]是存在的,故④可行,故本题选D选项。 8.A 【详解】本题主要考查Python表达式的运算。ASCII码表中小写字母的值大于大写字母的值,大写字母的值大于数字的值。所以“A”<“e”的值为True,“32” >“ab”的值为False,3+4y> 5-2y的值为False,7>=O and 30>=5的值为True,not(7>=O and 30>=5)的值为False,故本题选A选项。 9.B 【详解】本题主要考查Python随机函数。random()方法返回随机生成的一个实数,它在[0,1)范围内。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0,故变量x的值可能范围是[0,10),故本题选B选项。 10.B 【详解】本题考查Python函数。int(5.8)把浮点数5.8转换为整数5,因此结果为5。故答案为:B。 11.C 【详解】本题考查Python程序执行与调试。fab(126,156)→执行fab(126,30),并输出2。fab(126,30)→执行fab(96,30),并输出1。fab(126,30)→执行fab(66,30),并输出1。fab(66,30)→执行fab(36,30),并输出1。fab(36,30)→执行fab(6,30),并输出1。fab(6,30)→执行fab(6,24),并输出2。fab(6,24)→执行fab(6,18),并输出2。fab(6,18)→执行fab(6,12),并输出2。fab(6,12)→执行fab(6,6),并输出2。fab(6,6)满足if判断条件,执行return。因此程序运行后,输出的2的个数是5。故选C。 12.D 【详解】本题主要考查二分查找及Python程序实现。random.choice()方法用于返回一个列表、元组或字符串中的随机项。该二叉树如下图,分析程序可知,当遍历左子树执行,s = s+"L";当遍历右子树执行,s = s+"R";当查找到该树时,执行s = s+"M",并退出循环。由图可知,70节点没有左子树,故输出的结果不可能是RRLM,故本题选D选项。 13.D 【详解】本题考查Python中字典相关知识。程序中创建了一个名为 item 的字典,其中包含四个键:"竞技类"、"球类"、 "对抗性"、和 "水上",每个键对应的值都是一个列表。然后使用索引操作符 [] 获取 item 字典中 "对抗性" 键对应的列表,再次使用索引操作符 [] 来获取 item["对抗性"] 列表中的第3个元素,并用切片 [:: -1] 进行反转操作,输出的结果是:迪巴卡。故答案为D选项。 14.B 【详解】本题主要考查Python程序的执行。分析程序可知, key=a[i%3],a=[1,2,3],即key依次取1、2、1、2……,当s[i]是大写字母时,执行ans=ans+chr((ord(x)-65+key)%26+65),即将该字母循环后移key个长度再拼接到ans中,当s[i]是其他字符时,直接拼接到ans中,输入"A1b2D3",大写字母A、D变为B、F,其余字符不变,因此输出的结果是B1b2F3,故本题选B选项。 15.B 【详解】本题主要考查Python数据处理。分析程序可知,当像素点的颜色值pix[i,j]>=128时,填充“*”,反之无填充,图中灰色部分的像素点的颜色值均大于128,因此得到的效果图是 ,故本题选B选项。 16.C 【详解】本题主要考查Python程序的执行。分析程序可知,当取到的字符是大写字母时,执行c=chr(ord(c)+3)即后移3个长度,其余字符不变。y=c+y,即将每次取到的字符插到最前面。字符"A"、"C"变为"D"、"F",因此输出的结果是 3F2b1D,故本题选C选项。 17.B 【详解】本题主要考查Python程序的执行与调试。i取值1~5,循环5次,a[i]是随机生成1~9之间的整数,在if结构中,即i和生成a[i]具有同样的奇偶性时,则a[i]递增1,同时a[i]的奇偶性与i的奇偶性相反。在else结构中,即i和生成a[i]奇偶性相反,则执行a[i]=a[i]+a[i-1]。选项B中,由于a[i]是随机生成1~9之间的整数,a[5]=21,显然只能执行else部分得到,即21=16+5,即生成的a[5]=5,与i=5的奇偶性相同,矛盾,因此a的值不可能的是[0,8,9,8,16,21],故本题选B选项。 18.D 【详解】本题主要考查二分查找及Python程序实现。该二分查找用二叉树表示如下,变量c表示查找的深度,变量c的值不一定是4;变量i的值不可能是7;因为while循环条件是i<=j,因此a[i]的值不可能等于key;变量m和变量j的值可能相等,如key=2,故本题选D选项。    19.47 【详解】本题主要考查Python表达式的运算。50-9*3%4=50-27%4=50-3=47。 20.break 【详解】本题考查Python循环结构的描述。break是跳出循环的执行,continue是用于终止本次循环。 21.x>a and x<=b或a<x<=b 【详解】本题考查的是Python表达式。x在区间(a,b]表示x大于a,同时x小于等于b,因此对应的Python表达式是x>a and x<=b或a<x<=b。 22.inp[-1] 【详解】本题考查的是Python相关知识。split() 通过指定分隔符对字符串进行切片。由输出样例可知,family_name是分割后最后的子字符串。inp[-1]读取读取inp列表中倒数第一个元素。故应填入为:inp[-1]。 23.24 【详解】本题考查的是Python函数及循环语句。由s=s*i及 range(2,n+1)可知返回值是s=1*2*3*……n,total=jc(4)=1*2*3*4=24。 24.正确 【详解】本题考查Python基础。 在Python中,定义函数时参数名字前面带有两个*符号(例如,**kwargs)确实表示该函数可以接受任意数量的关键字参数(keyword arguments),并将这些参数存储在一个字典中。这种参数被称为可变关键字参数。这种机制在编写需要高度灵活性的函数时非常有用,因为它允许调用者传递任意数量的关键字参数,而函数内部可以以一种统一的方式处理这些参数。故正确。 25.正确 【详解】本题考查的是Python输出语句。*在字符串运算中表示重复。故print("abc" * 3)的执行结果是"abcabcabc"。题干说法正确。 26.错误 【详解】本题主要考查Python循环结构的应用。分析程序可知,变量i依次取3、5、7、9,故赋值语句 s=s+i 被重复执行了 4 次,故表述错误。 27.正确 【详解】本题考查计算机程序相关内容。计算机软件(程序)复用指的是在开发软件时,重复利用已有的代码和模块,以提高开发效率,并减少开发成本。故本题答案是:正确。 28.对 【详解】本题考查的是Python语言。python语言是一种面向对象的解释型计算机程序设计语言,发明于1989年。目前,python已经成为最受欢迎的程序设计语言之一。 题干说法正确。 29.pi=3.14 r=5 v=4/3*pi*r**3 d=round(v,2) print(d) 【详解】本题考查Python程序设计相关内容。分析算法描述,其功能是计算以r为半径的圆球体积v,并以保留两位小数(round(v,2))的形式输出。运行结果如下: 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
1
3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
2
3.2Python语言程序设计同步作业2024—2025学年高中信息技术浙教版(2019)必修1
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。