python二级考试操作题5

python二级考试操作题5
python二级考试操作题5

p y t h o n二级考试操作

题5

https://www.360docs.net/doc/1a5749729.html,work Information Technology Company.2020YEAR

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,求 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(____②____)

输入输出示例

习题讲解

参考代码

def GreatCommonDivisor(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 ="世界冠军运动员的乒乓球拍卖完了"

ls = jieba.lcut(____②____)print(ls)

习题讲解

参考代码

import jieba

s ="世界冠军运动员的乒乓球拍买完了"

ls = jieba.lcut(s,True)print(ls)

4.使用 turtle 库的 turtle.circle() 函数、turtle.seth() 函数和 turtle.left() 函数绘制一个四瓣花图形,效果如下图所示。请结合程序整体框架,补充横线处代码,从左上角花瓣开始,逆时针作画。

import turtle 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(100):

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

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 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:

ls.remove(i)

print(len(ls))

6.古代航海人为了方便在航海时辨别方位和观测天象,将散布在天上的星星运用想象力将它们连接起来,有一半是在古时候已命名,另一半是近代开始命名的。两千多年前古希腊的天文学家希巴克斯命名十二星座,依次为白羊座、金牛座、双子座、巨蟹座、狮子座、处女座、天秤座、天蝎座、射手座、魔蝎座、水瓶座和双鱼座。给出二维数据存储CSV文件(SunSign.csv),内容如下:

星座,开始月日,结束月日,Unicode

水瓶座,120,218,9810

双鱼座,219,320,9811

白羊座,321,419,9800

金牛座,420,520,9801

双子座,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("SunSign.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("输入星座名称有误!")

相关主题
相关文档
最新文档