1、word完整版)python二级考试操作题5 1。编写程序,从键盘上获得用户连续输入且用逗号分隔的若干个数字(不必以逗号结尾),计算所有输入数字的和并输出,给出代码提示如下。 n = input() nums = ____①____ s = 0 for i in nums: ____②____print(s) 输入输出示例 习题讲解 参考代码 n = input("") nums = n.split(”,") s = 0for i in nums: s += eval(i)print(s) 2.编写程序,获得用户输入的数值 M 和 N,求
2、M 和 N 的最大公约数。提示代码如下。 def GreatCommonDivisor(a,b): if a > b: a,b = b,a r = 1 while r != 0: ____①____ a = b b = r return a m = eval(input()) n = eval(input()) print(____②____) 输入输出示例 输入 输出 示例 1 2 3 1 习题讲解 参考代码 def GreatCommonD
3、ivisor(a,b): if a > b: a,b = b,a r = 1 while r != 0: r = a % b a = b b = r return a m = eval(input()) n = eval(input())print(GreatCommonDivisor(m,n)) 3。jieba 是一个中文分词库,一些句子可能存在多种分词结果,请补充横线处代码,产生字符串 s 可能的所有分词结果列表,提示代码如下. ____①____ s = ”世界冠军运
4、动员的乒乓球拍卖完了” ls = jieba。lcut(____②____)print(ls) 习题讲解 参考代码 import jieba s = ”世界冠军运动员的乒乓球拍买完了” ls = jieba.lcut(s,True)print(ls) 4.使用 turtle 库的 turtle。circle() 函数、turtle。seth() 函数和 turtle。left() 函数绘制一个四瓣花图形,效果如下图所示.请结合程序整体框架,补充横线处代码,从左上角花瓣开始,逆时针作画. import turtl
5、e as t for i in range(____①____): t。seth(____②____) t。circle(200, 90) t。seth(____③____) t。circle(200, 90) -——-——-—--—---——--—-------—-—---——--—-——--—-- 自动评阅说明 依次以字符串形式输入 ____①____,____②____,____③____ 中应填的代码,即可自动评阅,运算符两侧需要加空格 如果代码为: import turtle as t for i in range(1
6、00): t。seth(i + 100) t。circle(200, 90) t。seth(-10 * (i + 100)) t.circle(200, 90) 则在提交代码页面输入: print(”100", ”i + 100", "-10 * (i + 100)”) 习题讲解 参考代码 import turtle as t for i in range(4): t.seth(90 * (i + 1)) #90,180,270,360 t.circle(200,90) #-90,0,90,180
7、 t。seth(-90 + i * 90) t。circle(200,90) 5。编写程序,实现将列表 ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141] 中的素数去除,并输出去除素数后列表 ls 的元素个数。请结合程序整体框架,补充横线处代码。 def is_prime(n): ____①____ #此处可为多行函数定义代码 ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141] for i in ls.copy(): if
8、is_prime(i)== True: ____②____ #此处为一行代码print(len(ls)) 习题讲解 参考代码 def is_prime(n): for i in range(2,n): if n % i == 0: return False return True ls = [23,45,78,87,11,67,89,13,243,56,67,311,431,111,141] for i in ls: if is_prime(i)== False: l
9、s。remove(i) print(len(ls)) 6.古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、魔蝎座、水瓶座和双鱼座.给出二维数据存储CSV文件(SunSign。csv),内容如下: 星座,开始月日,结束月日,Unicode 水瓶座,120,218,9810 双鱼座,219,320,9811 白羊座,321,419,9800 金牛座,420,520,980
10、1 双子座,521,621,9802 巨蟹座,622,722,9803 狮子座,723,822,9804 处女座,823,922,9805 天秤座,923,1023,9806 天蝎座,1024,1122,9807 射手座,1123,1221,9808 魔蝎座,1222,119,9809 请编写程序,读入CSV文件中数据,循环获得用户输入,直至用户输入 ”exit” 退出。根据用户输入的星座名称,输出此星座的出生日期范围及对应字符形式。如果输入的星座名称有误,请输出“输入星座名称有误!”。 习题讲解 参考代码 #读入CSV格式数据到列表中 fo = open(”SunS
11、ign.csv","r", encoding=’utf—8’) ls = [] for line in fo: line = line。replace(”\n”,"") ls.append(line。split(",”)) fo.close() while True: InputStr = input() # 请输入星座名称,例如双子座 InputStr.strip() flag = False if InputStr == 'exit': break for line in ls: if InputStr == line[0]: print(”{}座的生日位于{}-{}之间。"。format(chr(eval(line[3])),line[1],line[2])) flag = True if flag == False: print("输入星座名称有误!")






