【编程】计算机二级Python真题及答案解析2word程序填空阅读填空程序试

【编程】计算机二级Python真题及答案解析2word程序填空阅读填空程序试


2024年4月29日发(作者:)

【编程】计算机二级Python真题及答案解析2word程序填空阅读填空程序试

一、程序填空

1.完善程序实现如下功能并保存:

5

个人坐在一起,第

5

个人说他比第

4

个人小

3

岁;第

4

个人说他比第

3

个人小

3

岁;

3

个人说他比第

2

个人小

3

岁;第

2

个人又说他比第

1

个人小

3

岁;第

1

个人说他是

38

岁。编写程序,计算出第

5

个人的年龄并显示。

def age(n):

if n == 1: c = ________

else: c = age(n - 1) - 3

return ________

print("

5

人的年龄

:"

age(________))

input("

运行完毕,请按回车键退出

...")

2.程序编写

1+2

2

+3

2

+

……

+100

2

的结果

_______________________________

_______________________________

_______________________________

_______________________________

input

(“运行完毕,请按回车键退出

...

”)

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

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

的等价语句是

______

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.调试程序。请阅读以下程序并写出运行结果。

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

for fruit in fruites:

print(fruit)

a=len(fruites)

print('a=',a)

_________________

6.(项目情境)在中国古代,出自数学家张丘建的《算经》中这样一个值得研究的问题:

今有鸡翁一

,

直钱五;鸡母一

,

直钱三;鸡雏三

,

直钱一。凡百钱

,

买鸡百只。问鸡翁、母、雏

各几何?这个问题就是著名的“百钱买百鸡问题”。即:现有

100

文钱,公鸡

5

文钱一

只,母鸡

3

文钱一只,小鸡一文钱

3

只,要求:公鸡,母鸡,小鸡都要有,把

100

文钱买

100

只鸡,买的鸡是整数。问公鸡、母鸡和小鸡各几何?

(问题求解)设用变量

g

m

x

三个变量分别存放公鸡、母鸡和小鸡的数量,请阅读如下

程序,在空白处填写适当的表达式或语句,使程序完整。

for g in range(1,20):

for m in _______:

for x in range(3,98,3):

if _________ and __________ ==100:

print("

公鸡:

",g,"

母鸡:

",m,"

小鸡:

",x)

7.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果

正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。

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

9.编写一个程序,判定用户输入的两个数

a

b

,如果用户输入的第一个数大,则两数互

换,否则原样输出。

10.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个

第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的

一半零一个。到第

10

天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

11.求

100

以内素数。

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

代码如下:

n

int(input("

请输入一个十进制数:

"))

result

[]

while n>0:

(

)

n

e()

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

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

代码如下:

def gcd (m,n):

r

while r!

0:

m

n

n

return

a

int(input(‘

请输入

a

的值

:’))

b

int(input(‘

请输入

b

的值

:’))

print(‘

最大公约数是

:' )

填空:

________ ________ ________ ________ ________

14.“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文

钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和

小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

1

)请在空格处填写正确的代码,使程序完善实现以下功能。

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,_______): #

公鸡只数可能为

1-20

for hen_num in range(1,_________): #

母鸡只数可能为

1-33

for chick_num in range(1,101): #

3

小鸡)只数可能为

1-100

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

num1=cock_num+hen_num+chick_num

if money1==money and num1==num:

print (cock_num,hen_num,__________)

input("

运行完毕,请按回车键退出

...")

2

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

15.完善程序实现以下功能并保存。

输入一元二次方程的系数a,b,c的值,求解一元二次方程 ax

2

+bx+c=0(a≠0)

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

import math

a=float(input("请输入方程系数a(!=0):"))

b=float(input("请输入方程系数b:"))

c=float(input("请输入方程系数c:"))

delta=b*b-4*a*c

if delta>

________

:

x1=(-b+(delta))/(2*a)

x2=(-(delta))/(2*a)

print("

方程有两个不同的解

"

x1

x2)

elif delta==0:

x1=________

print("

方程有两个相同的解

"

x1)

else:

print("

方程无解

")

input("

运行完毕,请按回车键退出

...")

16.蒙特卡洛方法不仅可以用来模拟投针实验,还可以用来模拟求解圆周率

T

。请根据所

学知识,并上网搜索有关资料,找到利用蒙特卡洛方法求解圆周率Π的原理、方法和

Python

程序。

17.某品牌手机第一年销量为

20000

台,假设平均每年的销量比上一年增加

68%

,请问几

年后能使总销量达到

60000

台。下面的程序能实现上述的功能,请将缺失的代码补充完

整。

total= every_year=20000

year=1

while __________________ :

every_year + = ____________

total + = every_year

year + = 1

print(year)

18.辗转相除法,又称欧几里德算法,用于计算两个正整数

m

n

的最大公约数。它是已

知最古老的算法,其可追溯至公元前

300

年前。

辗转相除法的算法步骤是,对于给定的两个正整数

m

n

m>n

),用

m

除以

n

得到余数

r,若余数

r

不为

0

,就将

n

r

构成新的一对数(

m=n

n=r

),继续上面的除法,直到余

数为

0

,这时m就是原来两个数的最大公约数。因为这个算法需要反复进行除法运算,故

被形象地命名为“辗转相除法”。小曲设计了辗转相除法的算法,请根据下面算法回答问

题。

描述一

描述二

描述三

①输入两个正整数

m,n

m>n

);

②计算

m

除以

n

所得的

余数

r

m=n,n=r

④若

r=0,

m,n

的最大公

约数等于

m

;否则转到

步骤②;

⑤输出最大公约数

m;

⑥结束。

1

)描述一是

________

描述法;描述二是流程图描述法;描述三是计算机程序语言描述

法。

2

)在描述三中代码

4

6

行作用是

__________

3

)在描述三程序设计中,补充代码第

8

行划线处为

__________

19.某字符转置算法描述如下:

将字符串(均为大写字符)

s

依次转换为相对应的数值(字符

A

Z

对应数值

1

26

);

·

转换后的数值以

K

个数据为一段,将

n

个待处理的数据依次分割成若干段(最后一段不足

部分用

0

来补充);

每一段中

K

个数据与

K*K

转置矩阵进行乘法运算;

将乘法运算得到的每一个结果值除以

26

求余数,依次转换成相应字符(数值

1

26

对应字

A

Z

),最后按原始字符串长度输出。

乘法运算规则如下:

i

个元素

c(i)=

j

个元素

a(j)*

转置矩阵第j行第

i

个元素

b(t)

的乘积之和(其中

j=1

2…K

例如:字符串

s=PYTHON

,区块大小

K=4

,的转置过程如下:

1

)根据算法描述,上述示例中,字符“

N

”的相乘结果(即图中(

)处)为

________

2

)请在划线处填入合适代码。

Private Sub Commandl_Click()

Dim a(1 To 100)As Integer

´存储字符串

,

长度不超过

100

个字符

Dim b(1 To 100)As Integer

存储转置矩阵

,

长度不超过

10*10

Dim c(1 To 100)As Long

Dim s As String, tmp As String

Dim k As Integer, t As Integer, i As Integer, j As Integer

Dim n As Integer, m As Integer, lens As Integer

s=Textl. Text

´在

Textl

中输入原始字符串

k=Val(Text )

´在

Text 2

中输入区块大小

K

Randomize

For i=1 To k^2

b(i)=Int(Rnd*9)

1

tmp=tmp

Str(b(i))

If i Mod k=0 Then

List 2. AddItem tmp

tmp="" .

End If

Next i

lens=Len(s):n=lens

For i=1 To n

tmp=Mid(s,i,1)

__________

Listl. AddItem Str(a(i))

Next i

Do While n Mod k

<>

0

n=n

1

a(n)=0

Listl. AddItem Str(a(n))

Loop

For i=1 To n

m=(i―1)Mod k+1

t=1

Forj=

__________

c(i)=a(j) * b((m-1) * k+t)+c(i)

t=t

1

Next j

Next i

For i=1 To n

List 3. AddItem Str(c(i))

Next i

s=

″″

For i=1 To lens

__________

s=s+Chr(t+64)}

Next i

Text =s

´在

Text 3

中输出转置后的字符串

End Sub

20.阅读程序。观察使用随机数求解百钱白鸡问题的代码并回答问题。

百千白鸡问题是经典的数学问题,原题为“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,

值钱一;百钱买百鸡,则翁、母、雏各几何?”翻译过来,意思是公鸡一个五块钱,母鸡

一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多

少只?

import random

while True:

x=nge(0,20)

y=nge(0,33)

z=nge(0,100)

if 5*x+3*y+z/3==100 and x+y+z==100:

print('

公鸡

',x)

print('

母鸡

',y)

print('

小鸡

',z)

1

Python

中导入库文件的命令是

________

2

nge(0,20)

生成的随机数的范围是

_________

3

)如果不想写类似

nge(0,20)

这么长的句子,可以修改程序中的第一行为

________

4

while True

的作用是

______

5

)如果

while True

造成程序无法停止,我们可以在程序中添加一行

_________

21.学校开展“奇妙的数字”研究性学习活动。张轩小组

4

人决定把课题定为《探秘水仙

花数》。

1

)张轩使用百度搜索引擎搜索到“水仙花数”是这样定义的:

“水仙花数”是指一个

三位数,它的各位数字的立方和等于其本身,比如:

153 = 1

3

+5

3

+3

3

,那么这个数就是一个

“水仙花数”。百度属于

____

搜索引擎(全文,分类)

2

)为了求解

100--999

这些数字中,哪些数字是“水仙花数”?张轩小组进行了算法设

计,并使用

python

编写了一段程序来求解所有的“水仙花数”,程序和运行结果下图:

k

是可以重新赋值的,

k

是变量还是常量?

____

程序中①处有空缺,请补充完整①处的代

码。

____

程序中逐一验证了

100

999

之间所有的三位数是否符合“水仙花数”的定义条

件,这种算法叫做

______

(解析法,枚举法,递归法,二分法)。

3

)在研究成果展示环节,

张轩小组可以使用什么软件制作《探秘水仙花数》的研究成

果报告?

_____

22.学习了

Python

绘制图形操作后,信息小组接到了编程演示的任务。为此,小组同学编

写了一段代码,绘制出多个不同颜色的圆形。

代码如下:

import turtle

turtle. bgcolor

"black"

colors=["red", "green", "blue", "yellow"]

for x

range

100

):

turtle. pencolor

colors[x%4]

turtle. circle

x

turtle. left

90

请分析任务,完成下列题目。

1

)程序中①处应填写(

________

A.print B.input C.in D.colors

2

)程序中

x%4

的作用是(

________

)。

A.

计算

x

乘以

4

的结果

B.

计算

x

除以

4

的整数部分

C.

计算

x

除以

4

的小数部分

D.

计算

x

除以

4

的余数

3

)执行此程序,绘制出圆形的总颜色数是(

________

)。

A.1 B.4 C.5 D.100

4

)执行此程序,绘制出圆形的总个数是(

________

)。

A.1 B.4 C.99 D.100

5

)此程序属于程序设计结构中的(

________

)。

A.

顺序结构

B.

分支结构

C.

循环结构

D.

跳转结构

23.小金同学学完了进制转换后,对课后的不同进制的加减法很是头疼,爱动脑筋的小金

突发奇想,能不能用

python

程序来完成这些作业呢?请帮小金完成代码编程

.

def convert(s):

m=0

le=len(s)

key=s[le-1]

if key=="B":

n=2

elif key=="D":

_______

else:

n=16

i=0

while i<=le-2:

c=s[

le-

1

-

i]

if c>="0"and c<="9":

a=ord(c)-ord("0")

elif c>="A"and c<="F":

a=ord(c)-ord("A")+10

_____________

i+=1

return m

s=input("

请输入算式

")

result=0;suanfu1="";suanfu2="";s1=""

for i in range(len(s)):

c=s[i]

if c=="+" or c=="-" or c=="=":

__________

suanfu1=suanfu2

suanfu2=c

if suanfu1=="":

result=t

if suanfu1=="+":

result=result+t

if suanfu1=="-":

result=result-t

s1=""

else:

s1=s1+c

print("

计算结果为

"+str(result)+"D")

1

)将程序横线处补充完整

2

)如输入“

1110B+10D-30H=

”则输出结果为

___________

24.阅读程序。分析以下关于字符拼接与转换的

Python

程序并回答问题。

students=[ '

小明

','

小红

','

小刚

']

scores={ '

小明

':95,'

小红

':90,'

小刚

':90}

print(len(students))

print(len(scores))

1

students

的数据类型是

______________

2

scores

的数据类型是

_____________

3

)在

scores

中,每个字符与后面的数值共同构成了一个

____________

4

len(students)

的返回值是

____________

5

print(len(scores))

的输出结果是

__________

25.水仙花数是指一个三位数,它的每个位上的数字的

3

次方之和就等于它本身,例如:

1**3+5**3+3**3=153

。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。

[

问题求解

]

设这个数存放于变量

x

中,变量

g

s

b

分别存放个位、十位、百位上的数。需

得分离数字得到每位上的数,即将变量

g

s

b

表示为

x

的形式。请阅读如下

python

序,在空白处填写适当的表达式或语句,使程序完整。

print

"

三位数之内的水仙花是:

"

for x in___

100

1000

):

b=x//100

s=

x//10

___

g=___

If x=

b**3 +s**3+g**3

):

print

___

26.(项目情境)水仙花数是指一个三位数,它的每个位上的数字的

3

次方之和就等于它

本身,例如:

1**3+5**3+3**3 = 153

。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗

数。

(问题求解)设这个数存放于变量

x

中,变量

g

s

b

分别存放个位、十位、百位上的

数。需得分离数字得到每位上的数,即将变量

g

s

b

表示为

x

的形式。请阅读如下

python

程序,在空白处填写适当的表达式或语句,使程序完整。

print ("

三位数之内的水仙

花是

:")

for x in _____ :

b=x//100

s=_____

g=_____

if x==(b**3 + s**3 + g**3):

_____

27.阅读程序。分析以下两段

Python

程序并回答问题。


发布者:admin,转转请注明出处:http://www.yc00.com/news/1714362669a2432420.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信