参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦!

一、程序填空

1.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

2.请在空格处填写正确的代码,使程序完善。

实现功能:绘制y=x2-2x+ 1的图像

#加载numpy模块并限简洁的别名为np

import numpy as np

#加载matplotlib.pyplot模块并限简洁的别名为plt

import matplotlib.pyplot as plt

#x在-7到9之间,每隔0.1取一个点

x=np.arange(-7,9,0.1)

_____ = x**2-2*x+1

plt.plot(x,________)

plt.title('y=x*x-2*x+1')

plt.xlabel('x')

plt.ylabel('y')

plt._________

3.阅读程序。阅读求水仙花数的代码并回答问题。

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。

for n in range(100,1000):

i=n//100

j=n//100%10

k=n%10

if n==i*i*i+j*j*j+k*k*k:

print(n)

(1)//的符号作用是 _____ 。

(2)%的符号作用是 _____ 。

(3)==的符号作用是 _____ 。

(4)在代码中,变量i表示的是三位数中的 ______ 位。

(5)在代码中,变量j 表示的是三位数中的 ______ 位。

(6)在代码中,变量k表示的是三位数中的 ______ 位。

(7)在range(100,1000)这个区域内,变量n无法取到的数值是________。

4.阅读程序。分析条件语句的代码并回答问题。

(1)如果不能使用int()函数,那么变量s的类型将会变成 ______ 。

(2)如果你的期末成绩是85,你得到的评价将会是____________ 。

(3)如果你的期末成绩是55,你得到的评价将会是____________ 。

(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。

(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。

5.阅读程序。分析下列切片相关程序并回答问题。

list2=[5,6,7,8,9]

print(list2[:])

print(list2[2:])

print(list2[:2])

print(list2[1:3])

print(list2[2:4])

(1)程序第一个print的输出结果是______________。

(2)程序第二个print的输出结果是______________。

(3)程序第三个print的输出结果是______________。

(4)程序第四个print的输出结果是______________。

(5)程序第五个print的输出结果是______________。

6.阅读程序。分析有关多项式的代码并回答问题。

求1!+2!+3!+……+20!的和。

n=0

s=0

t=1

for n in range(1,21):

t*=n

s+=t

print(s)

(1)n的作用是________________。

(2)s的作用是 ______________。

(3)t的初值必须赋值为1,这是因为_________。

(4)t*=n的等价语句是  __________

(5)s+=t的等价语句是 ______。

7.完善程序。以下是计算S=1+6+11+…+101的程序代码。请你在处填写正确的语句。

s=0

k=1

while(k<=101)

__

s=0

k=1

while(k<101):

k=k+5

s=s+k

print(s+1)

8.调试程序。请阅读以下程序并写出运行结果。

fruites=['banana','apple','mango']

for fruit in fruites:

print(fruit)

a=len(fruites)

print('a=',a)

_________________

9.调试程序。请阅读以下程序并写出运行结果。

#ex16.py

i=0

sum=0

while i<10:

if i%3==0:

sum+=i

print(i)

i=i+1

print('sum',sum)

_________

10.编写程序,找到并输出100以内的素数。

11.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。

llist=

n=int(input(“请输入参与人数:”))

for i in range(0,n-1):

llist.append([i,i+1])

___________

___________

long=n

k=head

i=1

p=2

while(____ ):

if i==p-1:

t=llist[k][1]

print(llist[t][0])#索引为t的删除

__________________

if t==head:

___________________

i=1

p+=1

long=long-1

k=llist[k][1]

______________

i+=1

print(llist[head][0])

12.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

13.输入三个同学的成绩,然后大到小排列。

14.冠军在A、B、C、D四位同学中。A说:“不是我”,B说:“是C”,C说:“是D”, D说:“C说的不对”,已知四人中有一人说了假话。判断出到底谁是冠军。

请在空格处填写正确的代码,使程序完善。

champion=['A','B','C','D'] #设置选手列表

for i in__________: #循环读取选手编号

cond=(i!='A') +(i=='C') + (i=='D')+(i!='D') #查找符合条件的选手

if cond== _____: #说真话是否是3人

print("冠军是:",_________) #输出冠军

input("运行完毕,请按回车键退出...")

15.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。

16.编写程序。如图所示的算法,请用Python程序写出实现该算法相应的代码。

17.编写一个程序,判定用户输入的两个数 a和 b,如果用户输入的第一个数大,则两数互换,否则原样输出。

18.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

打开文件“考生文件夹\644\百鸡百钱.py”,完善程序实现以下功能并保存。

(1)请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善。

(2)运行程序,运行结果如图所示。

# 请不要更改源程序的结构,删除原题里的①、②、③。填写正确的代码,使程序完善

money=100                #一共100文钱

num=100                  #一共100只鸡

cock_price=5             #公鸡价格5文

hen_price=3              #母鸡价格3文

threechick_price=1       #3只小鸡1文

for cock_num in range(1,money//cock_price+1):          #公鸡只数可能为1-20

for hen_num in range(1,①________):                        #母鸡只数可能为1-33

for chick_num in range(1,②________):                  #(3小鸡)只数可能为1-100

money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price

num1=cock_num+hen_num+chick_num*3

if money1==money and num1==num:

print (cock_num,hen_num,③________)             #(③小鸡数)

input("运行完毕,请按回车键退出...")

19.完善代码并保存。

实现功能:从键盘输入10个学生的测试成绩,输出最高分和最低分。

cj=[]

for i in range(0,________):

x=float(input("请输入一个数"))

cj.append(________)

print(max(cj), min(________))

input("运行完毕,请按回车键退出...")

20.现在有一个程序用来解决以下问题:如果有总量共1020个西瓜,第一天卖掉总数的一半后多卖出了两个,以后每天卖剩下的一半多两个,那么几天以后卖完呢?

请将下列程序补充完整。

tc=1020

c=0

while  ______________ :

tc=tc-(tc/2+2)

_____________

print(c)

21.已知6月份10位技术考试成绩:

1

2

3

4

5

6

7

8

9

10

78

88

89

90

83

76

75

98

100

65

技术老师想统计出80分(含80)以上的人数,请完善程序,代码如下:

a=[78,88,89,90,83,76,75,98,100,65]

______

sum=0

for i in range(n):

if a[i]>=80:

________

print(sum)

执行上述程序段后,输出的内容是______

22.现代生活半径的扩大和生活节奏加快使出行成本不断增长。滴滴快车应运而生,其以灵活快速的响应和经济实惠的价格为大众提供更高效、更经济、更舒适的出行服务,给人们生活带来了美好的变化。小C是滴滴快车忠实的粉丝,经常出行就提前预约,乘坐滴滴快车。小C就在思考这个滴滴快车是怎么计费的?可否用所学的Python语言也编写一个计费程序。于是小C开展了有关这个项目活动的探究。根据实际情况,回答问题。

(一)收集、分析数据,运用数理思维建模

登录滴滴出行官网,得到了如下信息,即“滴滴快车(普通型)计价规则”:

滴滴快车(普通型)计价规则

时段

起步价

里程费

时长费

普通时段

8.00元

1.35元/公里

0.20元/分钟

00:00-06:30

8.50元

2.40元/公里

0.50元/分钟

06:30-09:00

8.50元

1.50元/公里

0.45元/分钟

21:00-23:00

8.50元

1.50元/公里

0.40元/分钟

23:00-00:00

8.50元

2.40元/公里

0.50元/分钟

注意:

1.起步价包含里程3.3公里,包含时长9分钟,里程费、时长费合计不足基础费时,直接按照基础费计费。

2.实时计价是基于订单服务内容(里程、时长、时段),按各种费用项定价标准计算订单价格的计价方式,实际费用由两部分里程费与时长费累加而得。

小C同学19:33从“南内环恒地大厦停车场-入口”到“坞城新纪元大酒店(长风店)”乘坐滴滴快车(普通车型),里程4.1公里,时长约21分钟,按照表中的计费规则,小C同学此次出行应该支付的车费是:车费=8+(4.1-3.3)×1.35+(21-9)×0.2=9.68。

(1)小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:_____________

A.数字化可视化表达工具    B.信息加工工具

C.三维设计工具    D.信息检索工具

(2)假设Tot1表示时长费,Tot2表示里程费,S表示实际里程,T表示实际时长,Cost表示应支付费用。运用数学解析式归纳出计费公式为:

如果时长超过9分钟,则Tot1=_____________。如果里程小于等于3.3公里则Tot2=_____________,否则Tot2=_____________。应支付费用:Cost=______________。

(二)运用算法描述方法将问题解决步骤化

小C明晰了滴滴快车车费的计算方法之后,设计求解滴滴快车普通时段车费的算法,并用自然语言和流程图的方式表述出来。

(3)自然语言描述:

第一步:_________________________

第二步:计算时长费Totl

第三步:计算里程费Tot2

第四步:_________________________

第五步:_________________________

(4)流程图描述:(如图)流程图中,表示计算与赋值的是_____________,表示算法流向的是______________。

(5)算法描述中,用到了三种基本控制结构,分别是_______________、______________和______________。如图示中的流程图使用的控制结构是_______________和______________。(选填:顺序结构、选择结构、循环结构、树型结构)

(6)一个算法必须有______________或多个数据输入。有______________或多个数据输出。(选填:零个/一个)

(三)编写、调试、运行程序,验证算法并解决问题________

23.密码强度检测。编写python程序,实现如下功能:输入要检测的密码,输出密码强度结果。密码字符分为数字字符、字母和其他符号三类。密码强度的检测方法为:若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!”。若密码位数在8位及以上,则进行强度检测:若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。

(1)若输入“12abcd5!”,则输出结果为_________(选填,选字母:A.密码位数不能少于8位,请重新输入! / B.弱 / C.中等 / D.强)

(2)实现上述功能的程序如下,请在划线处填入合适的代码。

password=input(“请输入要检测的密码:”)

_______________

if n<8:

print(“密码位数不能少于8位,请重新输入!”)

else:

n1=0

n2=0

n3=0

for i in range(0,n,1):

_______

if “0”<=ch<=“9”:

n1=1

elif “a”<=ch<=“z” or “A”<=ch<=“Z”:

n2=1

else:

n3=1

_____

if x==3:

print(“强”)

elif x==2:

print(“中等”)

else:

print(“弱”)

24.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。一般情况下,规模N=1时,问题的解是已知的。已知:从1到n的连续自然数相乘的积、叫做阶乘、用符号n!表示。如5!=1×2×3×4×5,规定0!=1。我们用递归算法可以较容易求n的阶乘。求n的阶乘算法可以描述如下:

n!=n*(n-1)!   (n-1)!=(n-1)*(n-2)!   (n-2)!=(n-2)*(n-3)!

2!=2*1!    1!=0!     0!=1

如果把n!写成函数形式,即f(n),f(n)=n*f(n-1)。如f(5)就是表示5!,求5!的过程可以写成如下形式:

f(5)=5*f(4)   f(4)=4*f(3)   f(3)=3*f(2)   f(2)=2*f(1)   f(1)=1

(问题求解)在python中用递归算法求1!+2!+……+n!(n的值为整数,从键盘输入)。请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。

def f(n):

if n==0:

return 1

else:

return _________

s=0

n=int(input("请输入n:"))

for i in_______:

s=________

print(s)

25.模拟一个简单计算器,实现如下功能:输入两个整数和一个运算符(加、减、乘、除),进行算术运算,并输出运算结果。程序运行时,依次输入第一个数、运算符和第二个数,输出运算结果。当输入的运算符是加减乘除(+-*/)四种以外的符号时,则输出“运算符不正确”。当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”。Python程序实现如下,在划线处填入合适的代码。

a=int(input("请输入第一个数: "))

fh=input ("请输入运算符: ")

b=int(input("请输入第二个数: "))

flag=True

s= ____

if fh in s:

if fh=="+":

c=a+b

elif fh=="-":

c=a-b

elif fh=="*":

c=a*b

else:

if ____

print("除数不能为0! ")

flag=False

else:

c=a/b

if flag==True:

print("运算的结果为: "+____)

else:

print ("运算符不正确")

26.若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:

实现上述功能的程序如下,请在划线处填入合适的代码。

def isprime(x):

for i in range(2,x):

if__________:

return False

return True

n=int(input(“请输入一个正整数n:”))

c=0

k=3

while k<=n-2:

if isprime(k) and___________:

print(k,k+2)

___________

k=k+1

print(“共有”+str(c)+“对双胞胎数”)

27.设计完成算法之后,小C打算用所学的Python程序设计语言完成程序的编写。

(1)Python程序设计语言属于程序设计语言中的_______________。

A.机器语言    B.汇编语言    C.高级语言    D.翻译程序

(2)小C将设计好的算法转为Python程序语言(如下)。其中“Tot2=8”是一个___________,“#初始化时长费为0”是一个__________,“S<=3.3”是一个___________,“float(input(“请输入时长”))”是一个__________。

A.函数    B.表达式    C.赋值语句    D.注释语句

1 Tot1=0  #初始化时长费为0

2 Tot2=0  #初始化里程费为0

3 S=float(input(“请输入里程数”))

4 T=float(input(“请输入时长”))  #输入里程数和时长

5 if(T>9):  #计算时长费用

6   Tot1=(T-9)*0.2

7 if(S<=3.3):  #算里程费用

8   Tot2-8

9 else:

10   Tot2=8+(S-3.3)*1.35

11 Cost-Totl+tot2

12 print(Cost)  #输出总车费

(3)小C写好代码之后,编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:____________________________________________________________________________________________。

NameError                                                      Traceback(most recent call last)

<ipython-input-2-fc682f6f4658>in<modu1e>

9else:

10

—→11  Cost=Tot1+tot2

12

NameError:name’tot2’is not defined

(4)经过修改之后,小C对照某次滴滴打车的订单,将对应的公里数和时长输入程序,运行得到的结果与实际支付的费用一致,小C会心一笑验证得知程序正确无误。小C借助于计算机编写程序解决问题的这个过程是:①设计算法②编写程序③分析问题④调试运行程序,合理的顺序是_________。(填写序号即可)

(5)总结用计算机解决问题的优势主要有:_______________________________________________。

28.编写Python程序实现如下功能:输入年月日,输入格式如“2021-06-21”,年月日之间用“-”分隔。判断这一天是这一年的第几天。以2021-06-21为例,前面5个月总天数,加上21天即这一天是本年的第几天。特殊情况,当输入的年份是闰年时,2月份有29天。闰年的判断方式如下:

I、能被4整除,但不能被100整除;

II、能被400整除;

(1)“2020-05-20”这一天是这一年的第_________天。

(2)编写Python代码如下,在划线处填入正确的代码

_________________

_________________

_________________

(3)加框处的代码有误,请改正。

改正:_________________

mon=[31, 28, 31, 30, 31, 30,31, 31, 30, 31, 30,31] #mon 中存储1-12每个月的天数

s=input("请输入年月日: ")

'month=int(s[5:7])

sum=0

for i in range(  ):

sum+=mon[i]

sum+=day

29.小明用Python语言写了一个货币兑换程序如下:

(1)参数currency指:____________。

(2)该程序用了哪一种算法结构:_____________。

(3)输出结果为“50$= 325.25人民币”。则代码应该如何编写:____________。

30.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被4整除但不能被100整除或能被400整除,闰年的2月为29天)

day=input("请输入年月日(格式举例:2000-01-05):")

year=int(day[:4])

month=_________

sun=int(day[8:10])

print(year,month,sun)

f_run=[31,28,31,30,31,30,31,31,30,31,30,31]

tall_day=0

if ______:

for i in range(month-1):

tall_day +=f_run[i]

__________

else:

for i in range(month-1):

tall_day +=f_run[i]

tall_day += sun

print(day+"是当年的第"+str(tall_day)+"天")

(1)将程序横线处补充完整

(2)如输入“2020-4-19”为当年的第_____天。

【参考答案】***试卷处理标记,请不要删除

一、程序填空

1.s=input("请输入要转换的字符)

c=len(s)  #len 求字符串长度

for i in range(0,c):

if i<2:

print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值

else:

print(chr(ord(s[i]) + 3))

【详解】

本题主要考查程序设计。题干要求可通过Python程序条件分支结构实现,具体代码如下:

s=input("请输入要转换的字符)

c=len(s)  #len 求字符串长度

for i in range(0,c):

if i<2:

print (chr(ord(s[i])+2)) # ord ord() 函数是 chr() 函数配对函数,将字符转ASCII值

else:

print(chr(ord(s[i]) + 3))

2.y    y    show( )

【详解】

本题主要考查Python程序绘制图像。 ①绘制y=x2-2x+ 1的图像,故此处填y。 ②根据横纵坐标x和y绘制图,故此处填y。 ③此处调用显示函数show( ),故填show()。

3.整除    取余    判断是否相等    百    十    个    1000

【详解】

本题考查的是python语言及对程序实现的理解。(1)//的符号作用是取整除,返回商的整数部分(向下取整)。(2)%的符号作用是取模,返回除法的余数。(3)等于,比较符号两边对象是否相等。(4)(5)(6)i=n//100,j=n//10%10,k=n%10,分别利用取整和取余符号,算出三位数对应的每一位上的数字。(7)range()函数的区间是左闭右开,所以第二个参数1000是取不到的。

4.字符串类型    你及格了喔 表现不错 程序结束    不及格 学习方法可能不对 程序结束    60    80    错

【详解】

本题主要考查Python编程。① input() 函数接受一个标准输入数据,返回为 string 类型,因此此处为字符串类型;②输入期末成绩为85时,满足大于等于60及大于等于80条件,因此此处输出为“你及格了喔 表现不错 程序结束”;③输入期末成绩为55时,满足小于60及大于等于30,因此此处输出为“不及格 学习方法可能不对 程序结束”;评价是“还可以再提升”项,属于大于等于60且小于80范围,因此④为60,⑤为80;elif后需添加判断条件,因此⑥为错。

【点睛】

5.[5,6,7,8,9]    [7,8,9]    [5,6]    [6,7]    [7,8]

【详解】

本题主要考查Python列表截取。Python列表的正向索引下标是从零开始,不是1;当只有冒号,表示全部元素;只有头下标i和冒号(代表的是从该头下标i的元素开始截取,一直到最后);只有冒号尾下标i(代表的是从开始一直截取到i-1的元素);头下标i,冒号和尾下标j都有(代表的是从i一直截取到j-1的元素),因此①[5,6,7,8,9]②[7,8,9]③[5,6]④[6,7]⑤[7,8]。

【点睛】

6.计算每一项的阶乘    记录阶乘相加后的和    t记录的是每一项阶乘的结果,t*=n即t=t*n,t初值为1,能计算出每项的阶乘结果,若为0,则每项的阶乘结果都是0,不符合题意。    t=t*n    s=s+t

【详解】

本题考查的是python语言编程。本题考查的是1-20阶乘的求和。本题的重点是要先计算出对应的每一项阶乘的结果t,然后20项阶乘的结果记录在s中。在此过程中既要考虑到累乘求阶乘结果,又要考虑到累加求所有阶乘的和。初值n=0,在1-21的循环过程中,记录每一项的阶乘,s=0记录阶乘累加的和,t=1记录每一项阶乘的结果。每求一次阶乘就要进行一次求和,故语句t*=n,s+=t均在“for n in range(1,21):”的循环体内。

7.         s=s+k

k=k+5

print(s)

【详解】

本题主要考查Python程序的执行与调试。s=0,k=1,计算S=1+6+11+…+101,循环条件是k<=101,故循环体应为s=s+k,k=k+5,循环结束后,输出计算结果,故print(s)。

8.banana

apple

mango

a= 3

【详解】

本题主要考查Python中For循环结构。 for循环可以遍历任何序列的项目,如一个列表或者一个字符串;len() 方法返回列表元素个数。因此本题输出为各列表内容及列表元素个数。

【点睛】

9.0

【详解】

本题主要考查Python中While循环结构。Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。题中循环体内含If选择结构,即当i%3为0时,执行sum变量累加i,输出i,i自增加1操作,因此本题输出0后,循环无限执行下去。

【点睛】

10.参考答案1:

for i in range(2,101):

j=2

while j<=i:

if i%j==0:

break

j+=1

if j<i:

continue

else:

print(i,end=" ")

参考答:2:

for i in range(2,101):

for j in range(2,i):

if(i%j==0):

break

else:

print(i)

【详解】

本题考查是Python语言编程解决问题。break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体。这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。答案中代码的实现过程见下图:

参考答案1:

参考答案2:

11.llist.append([n-1,0])    head=0    long>1    head=llist[k][1]    llist[k][1]=llist[t][1]    k=llist[k][1]

【详解】

本题主要考查Python程序执行与调试。①for循环体是将索引0-n 追加到llist中,此处是循环体执行完,将末元素与首元素的索引加入到llist中,故填llist.append([n-1,0])。②head是列表头,初始化为0,故填head=0。③最后剩下一个,其余人都将被杀掉,故循环条件是long>1,变量long控制元素个数,故填long>1。④索引为t的删除后,此处是更新head值,故填head=llist[k][1]。⑤删完后,如果t等于head,需要更新索引k,将索引t的值赋给变量k,故填llist[k][1]=llist[t][1]。⑥如果t不等于head,也需要更新索引k,故填k=llist[k][1]

【详解】

本题主要考查Python程序的执行与调试。运行结果如下:

13.

【详解】

本题主要考查程序设计与实现。可以使用Python程序实现题干要求:

14.champion    3    i

【详解】

本题主要考查Python程序的执行。①champion是选手编号列表,此处是循环读取选手编号,使用for i in champion,故此处填champion。②四人中有一人说了假话,即3个人说真话,即当cond=3时,则表示找到了谁是冠军,故此处填3。③当cond是3时,i即为冠军,故此处填i。

15.str = input("请输入要转换成大写的数据:")

c=len(str)

for i in range(0,c):

print(str[i].upper(),end=" ")

【详解】

本题主要考查程序设计。题干要求可使用Python程序设计实现,通过upper函数可以将输入数据转换成大写并输出,具体代码如下:

str = input("请输入要转换成大写的数据:")

c=len(str)

for i in range(0,c):

print(str[i].upper(),end=" ")

16.a=float(input("请输入一个数"))

b=float(input("请输入一个数"))

c=float(input("请输入一个数"))

if c>a and c>b:

print("最大数为:",c)

elif b>a:

print("最大数数",b)

else:

print("最大小数为",a)

【详解】

本题主要考查算法描述及Python程序设计。分析算法流程图,首先输入a、b、c三个数,进行两两比较,输出最大数,故Python程序设计如下:

a=float(input("请输入一个数"))

b=float(input("请输入一个数"))

c=float(input("请输入一个数"))

if c>a and c>b:

print("最大数为:",c)

elif b>a:

print("最大数数",b)

else:

print("最大小数为",a)

17.a=int(input(" 请输入数 a:"))

b=int(input(" 请输入数 b:"))

if a>b:

t=a

a=b

b=t

print("用户输入的数按小到大排序结果是: ", a, b)

else :

print("原样输出 ",a,b)

【详解】

本题主要考查Python程序设计。使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,则交换,否则原样输出,具体代码如下:

a=int(input(" 请输入数 a:"))

b=int(input(" 请输入数 b:"))

if a>b:

t=a

a=b

b=t

print("用户输入的数按小到大排序结果是: ", a, b)

else :

print("原样输出 ",a,b)

18.34 money//hen_price+1    101  money//threechick_price+1    chick_num*3

【详解】

本题主要考查Python程序执行与调试。①母鸡只数可能为1-33,对比最外层循环范围,第一空填34或 money//hen_price+1。②小鸡只数可能为1-100,同理第二空填101 或 money//threechick_price+1。③公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,故第三空填chick_num*3。

19.x    cj

【详解】

本题主要考查Python程序执行与调试。①从键盘输入10个学生的测试成绩,range(a,b)的范围是从a~b,但不包括b,故第一空填10。②每输入一个数x,将其通过append函数加到列表cj中,故第二空填x。③求最大值用max函数,求最小值用min函数,故第三空填cj。

20.tc>0    c=c+1   或者c+=1

【详解】

本题主要考查Python程序执行与调试。①变量tc保存西瓜数量,当tc大于0时,一直循环,故第一空填tc>0。②变量c保存天数,每循环一次,变量c递增1,故第二空填c=c+1 或者c+=1。

21.①n=len(a)    sum+=1或sum=sum+1    6

【详解】

本题主要考查Python程序调试与执行。①变量n用来保存数组a的长度,使用len函数,故此处填n=len(a)。②使用for循环统计出80分(含80)以上的人数,用变量sum统计满足条件的人数,当满足if条件时,sum变量递增,故此处填sum+=1或sum=sum+1。③执行上述程序段后,sum=6,故输出的内容是6。

22.D    Tot1=(T-9)×0.2    Tot2=8    Tot2=8+(S-3.3)×1.35    Cost=Totl+Tot2    第一步:输入实际里程S和实际时长T    第四步:计算应支付费用Cost    第五步:输出应支付费用Cost    E    A    顺序结构    选择结构    循环结构    顺序结构    选择结构    零个    一个    略

【详解】

本题主要考查算法及程序设计。①小C登录滴滴出行官网搜索并下载“计价规则”,所采用的数字化工具:信息检索工具,故选D选项。②如果时长超过9分钟,则Tot1=(T-9)×0.2。③如果里程小于等于3.3公里则Tot2=8。④里程大于3.3公里,则Tot2=8+(S-3.3)×1.35。⑤应支付费用:Cost=Totl+Tot2。⑥第一步:输入实际里程S和实际时长T。⑦第四步:计算应支付费用Cost。⑧第五步:输出应支付费用Cost。⑨流程图中,表示计算与赋值的是矩形框,即选项E。⑩表示算法流向的是箭头,即选项A。算法描述中,用到了三种基本控制结构,分别是⑪顺序结构⑫选择结构⑬循环结构。如图示中的流程图使用的控制结构是⑭顺序结构⑮选择结构。⑯一个算法必须有零个或多个数据输入。⑰有一个或多个数据输出。⑱略

23.D    n=len(password)    ch=password[i]    x=n1+n2+n3

【详解】

本题主要考查Python程序的执行与调试。①“12abcd5!”含有三类字符,则输出结果为强,选D选项。②此处取密码的长度,将其赋给变量n,len()是返回字符串的长度,故填n=len(password)。③ch是取密码的每一位进行判断,故此处填ch=password[i]。④当出现数字时n1=1,当出现字母时n2=1,当出现其他字符时n3=1,x用来统计有几类字符,故此处填x=n1+n2+n3。

24.n*f(n-1)    range(1,n+1)    s+f(i)

【详解】

本题主要考查Python程序的执行与调试。①此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。②用递归算法求1!+2!+……+n!,故变量i的范围应是1—n,for i in range(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。

25."+-*/"    b==0    str(c)

【详解】

本题主要考查Python程序执行与调试。①变量fh用来接收运算符,由代码“if fh in s”可知,变量s保存加减乘除(+-*/)四种运算符,故此处填"+-*/"。②变量b保存第二个数,当进行除法运算时,如果除数为“0”,提示输出“除数不能为0!”,此处是处理b=0的情况,故填b==0。③变量c保存运算结果,此处输出 c的结果,故填str(c)。

26.x%i==0或x//i==x/i或其他等价表达式    isprime(k+2)或isprime(k+2)==True    c=c+1或c+=1

【详解】

本题主要考查Python程序的执行与调试。①isprime(x)函数判断x是不是素数,此处通过for循环判断(用x依次除i,看能不能整除,i的范围时从2~x),故填x%i==0或x//i==x/i。②此处判断相差2的两个数是不是素数,若是,则输出这两个数,故此处填isprime(k+2)或isprime(k+2)==True。③c用来统计双胞胎数的对数,若满足是双胞胎数的条件,故此处填c=c+1或c+=1。

27.C.高级语言    C.赋值语句    D.注释语句    B.表达式    A.函数    Python程序设计语言规定,在标识符中,字母大小写是有区别的。该程序代码中表示里程费的Tot2错误将字母“T”写成了小写”“t”。    合理的顺序是:③分析问题①设计算法②编写程序④调试运行程序    略

【详解】

本题主要考查Python程序的编写。①Python程序设计语言属于程序设计语言中的高级语言,选C选项。②“Tot2=8”是一个赋值语句,选C选项。③“#初始化时长费为0”是一个注释语句,选D选项。④“S<=3.3”是一个表达式,选B选项。⑤“float(input(“请输入时长”))”是一个函数,float() 函数用于将整数和字符串转换成浮点数,选A选项。⑥编译运行发现报错了,根据下图中所示的错误信息分析该程序报错的原因是:Python程序设计语言规定,在标识符中,字母大小写是有区别的。该程序代码中表示里程费的Tot2错误将字母“T”写成了小写”“t”。⑦小C借助于计算机编写程序解决问题的这个过程,合理的顺序是:③分析问题①设计算法②编写程序④调试运行程序。⑧略

28.day=int(s[8:])或day=int(s[-2:])    0,month-1    isleap and month>2    year%4==0 and year%100!=0 or year%400==0

【详解】

本题主要考查Python程序的执行与调试。①2020年是闰年,2月是29天,故“2020-05-20”这一天是这一年的第31+29+31+30+20=141天。②变量s是字符串型,下标从0开始,此处是将输入日期中的天取出来放到变量day中,可以使用切片操作:从左边开始截取,也可以从右边截取,故此处填day=int(s[8:])或day=int(s[-2:])。③通过循环将前month-1个月的天数加起来,故变量i的范围是0到month-1,故填0,month-1。④变量isleap标记是不是闰年,如果isleap值为真且month>2,则sum需要递增1,故填isleap and month>2。⑤由题干闰年判断条件,可知加框处应改为year%4==0 and year%100!=0 or year%400==0。

29.形参    分支结构(选择结构)    if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似

【详解】

本题主要考查Python程序执行与调试。①分析代码可知,参数currency指:形参。②由代码可知,该程序用了条件分支结构。③若输出结果是50$= 325.25人民币,则需将if条件中的return语句改为return print(money,"$=",money*6.505,"人民币"),其他elif语句类似。

30.int(day[5:7])    (year%4==0 and year%100!=0 or year%400==0) and month>=2    tall_day+=1    110

【详解】

本题主要考查Python程序的执行与调试。①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:end],start会包含在结果中而end却不会,故此处填int(day[5:7])。②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0 and year%100!=0 or year%400==0) and month>=2。③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。④输入“2020-4-19”为当年的第110

NCT青少年编程能力等级测试Python编程一级-模拟卷(含答案)相关推荐

  1. NCT青少年编程能力等级测试Python编程二级-模拟卷(含答案)

    参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦! 试题NCT-Python编程三级-模拟卷1(含答案 一.选择题 1.Python语言属于(   ). A.机器语言 B.汇编语言 C. ...

  2. NCT青少年编程能力等级测试Python编程三级-模拟卷1(含答案)

    参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦! 试题NCT-Python编程三级-模拟卷2(含答案练习 一.选择题 1.下面(    )是Python合法的变量名 A.int32 B ...

  3. NCT青少年编程能力等级测试Python编程一级-测试卷卷(含答案)

    参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦! 1.关于python的编程变量说法正确是?[2分] A.变量可以字母,数字,下划线组合 B.变量命名不区分大小写 C.不可以以下划线开 ...

  4. python编程能力等级测试_青少年编程能力等级测评-Python编程二级试卷

    青少年编程能力等级测评 Python 编程二级试卷 一.单项选择题(共 20 题,每题分,共 50 分) 1. 运行下方代码段,输出的结果是( ) . a=() print(type(a)) A . ...

  5. 中国电子学会青少年编程能力等级测试图形化四级模拟题

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

  6. 中国电子学会青少年编程能力等级测试图形化一级编程题:小狗进圈

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 小狗进圈 小狗非常听话,收到命令能在舞台 ...

  7. 中国电子学会青少年编程能力等级测试图形化一级编程题:海底世界

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 海底世界 1. 准备工作 (1)背景:U ...

  8. 中国电子学会青少年编程能力等级测试图形化一级编程题:无奈的Jaime

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

  9. 中国电子学会青少年编程能力等级测试图形化一级编程题:小鸡与鸭妈拥抱

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 我们将有关编程题目的教学视频已经发布到抖 ...

最新文章

  1. Linux(CentOS 7_x64位)系统下安装RDkit(修正)
  2. python编码格式
  3. 文件描述符fd是什么?
  4. 矩形波的傅里叶变换_冲激信号、门信号、方波、矩形波的傅里叶变换总结
  5. Sklearn参数详解—Adaboost
  6. 【转】我的CV之路第一篇:ITK是啥?
  7. 无内存在优盘可以启动计算机吗,没有U盘不要紧,内存卡做启动盘装Win7方法
  8. Redis笔记之基本数据结构 链表
  9. php中声明空数组,总结PHP中初始化空数组的最佳方法
  10. java list 包含字符串_Java8实战:查找列表中包含的字符串
  11. activemq-messages-dequeud-but-not-consumed
  12. Vue 2.0的建议学习顺序(尤雨溪)
  13. Html HBuilder封装APP
  14. php header 生成pdf,使用PHP生成PDF文档
  15. UVC20-亿联网络Yealink视频会议摄像机即将上市
  16. 浅谈:为什么vue和react都选择了Hooks?
  17. 10个python入门小游戏,零基础打通关,就能掌握编程基础
  18. R语言绘图添加箭头标记、绘制连接两点的线段
  19. 什么是数据共享?如何做好数据交换与共享?
  20. 在用计算机计算器,计算器

热门文章

  1. NOIP2016 模拟赛
  2. 第五十六回:如何在Button中同时显示文字和图标
  3. select标签及其标签元素
  4. 位运算:按位与、按位或、按位异或、按位非(补码 反码)
  5. C++replace的基本用法
  6. android5 s3,我爱写字语S3年级下
  7. IOS最新版开通GPT-PLUS方法
  8. 活性氧L-Buthionine-(S,R)-Sulfoximine,CAS No. 83730-53-4
  9. c vscode 高亮_vscode怎么高亮打开wpy文件开发微信小程序
  10. 优化器(Optimization)