资料【python一级】知识点_题型程序填空阅读填空程序试题

  • 格式:doc
  • 大小:828.50 KB
  • 文档页数:20

资料【python一级】知识点_题型程序填空阅读填空程序试题

一、程序填空

1.(最大公约数)用辗转相除法求两个正整数的最大公约数。

代码如下:

def gcd (m,n):

r=

while r!=0:

m=n

n=

return

a=int(input(‘请输入a的值:’))

b=int(input(‘请输入b的值:’))

print(‘最大公约数是:' )

填空:

________ ________ ________ ________ ________

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

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

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

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

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

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

3.完善程序。以下是猜数游戏的程序,请在画线出填写正确的内容。

import random secret=random.randint(0,10)

print(“---猜数游戏 -----”)

cs=int(input(“你猜的数字是”))

while cs!=secret:

_______cs>secret:

_________ (“唉,猜大啦!”)

__________:

print(“嘿嘿,猜小了!”)

cs= int(input(“重新猜一个靠谱的数字是:”))

print(“游戏结束,不玩了!”)

4.完善程序。以下是计算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)

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

#ex16.py

i=0

sum=0

while i<10:

if i%3==0: sum+=i

print(i)

i=i+1

print('sum',sum)

_________

6.编写程序。信息社团的三个同学和Bruce一起做游戏,他们的游戏规则很简单,从1开始依次报数,每当一个数能被7整除或者十位是7就要跳过这个数,现在给出一个数N,请输入从1到N(包含N)中要跳过的数。

7.程序分析题

学校举行校园歌手大赛,评委由6人组成。评分方法:去掉一个最高分和一 个最低分,计算其余4位评委的平均分,作为选手的最终得分。max记录最高分; min记录最低分; s记录六位评委的总分; aver记录最终得分。

第1步:从文本框中分别读入6位评委的打分并依次存入到a(1)至a(6)中

第2步:将第1位评委的打分a(1)分别赋给最高分max ,最低分min和总分S

第3步:利用循环结构把另外5位评委的打分累加给s从而求出6位评委的总分s ,同时把5位评委的打分与max和min进行比较,得出6位评委中的最高分max和最低分min。

第4步:从总分中s中去掉最高分max和最低分min,求出其他4位评委的平均分aver作为选手的最终得分。

max=a[0]

min=a[0]

s=0

for i in range(6) :

s=s+a[i]

if a[i]>max:

max=a[ i]

if a[i]

min=a[ i]

aver=( )/4

(1)在引用tkinter模块进行界面设计的过程中,窗体中录入评委打分的对象是由______控件生成的。 A.Entry B.Label C.Frame D.Button

(2)题目中算法描述采用的是__________A、自然语言B、伪代码 C、流程图 D、.N-S图

(3)下列程序代码片段对应于算法描述中的第2步至第4步。请填写片段中空白处的表达式填写完整________

8.分析完善程序

已知包含25项的数列: 1,2/3,3/5,....,24/47,25/49。

问题1 :写出该数列的通项公式f(n)= _①

问题2 :以下是计算S=1+ 2/3+3/5+ ... + 24/47+ 25/49的程序,请补全代码:

s=0

for i in range(1,26):

s=s+ ②

print(“s=”,s)

补充完成上述通项公式和程序:

①f(n)=_________

②___________

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

10.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:能被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”为当年的第_____天。

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

12.求100以内素数。

13.操作说明:打开文件“Y:/1/1.py”,将程序补充完整,不得增加,删除语句、或改变程序原有结构,操作结束后保存。 以下程序段的功能是:根据从键盘上输入的表示星期几的数字,若输入的数字不是在范围(1至7)输出“输入错误!”,否则输出对应的英文星期的简称如“Mon、Tue、Wed、Thu、Fri、Sta、Sun”。

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

list=[ “Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sta”,”Sun”]

if ________:

print(“输入错误!”)

else:

print(________)

14.将下列程序代码补充完整:

某同学参加了学校体检,体检的医生告诉他体重超重,需要加强运动。该同学了解到运动时,心率如能控制在一定范围内,对增强心血管系统和呼吸系统的功能都有很好的效果;超出范围,对身体反而会有损伤。男最适宜运动心率=(220-年龄数-安静心率)×(60%~80%)+安静心率,女最适宜运动心率=(210-年龄数-安静心率)×(60%~80%)+安静心率,补充程序帮他(她)计算最适宜的运动心率。

age=float(input('请输入age='))

HRrest=float(input('请输入HRrest='))

gender=input(“请输入male or female :”)

if ____________________:

____________________

else:

_____________________

low=(n-age-HRrest)*0.6+HRrest

high=(n-age-HRrest)*0.8+HRrest

print('最适宜的心率是:',low,'~',high)

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

15.程序设计:键盘输入任意的正整数,程序输出与其相应的二进制数。

代码如下:

n=int(input("请输入一个十进制数:"))

result=[]

while n>0:

result.append( ① )

n= ②

result.reverse()

for i in result:

print(i,end=”)

(1)程序代码中①处正确的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2

(2)程序代码中②处可能的代码是(_______)。

A.n%2 B.n/2 C.n//2 D.n*2 16.编写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

if :

isleap=True

else:

isleap=False

if ③

sum+=1

print("这一天是当年的第" +str (sum)+''天'')

17.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;当他们分成五人一组时,发现最后多出三个;当他们分成七人一组时,发现最后多出两个。编写程序求出这些小朋友的可能人数。

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

________

a=[ ]

for i in range(100,1000):

if_____________: