(完整版)python期中考试试卷图文word程序填空阅读填空程序试题

  • 格式:doc
  • 大小:724.00 KB
  • 文档页数:23

(完整版)python期中考试试卷图文word程序填空阅读填空程序试题

一、程序填空

1.辗转相除法,又称欧几里德算法,用于计算两个正整数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行划线处为__________。

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

实现功能:用辗转相除法求解两个正整数的最大公约数。

x = int(input('请输入第一个正整数:'))

y = int(input('请输入第二个正整数:'))

m = max(x,y) #找出x,y中的最大值

n = min(x,y) #找出x,y中的最小值

r = m%n #求得最大值除以最小值后的余数

while r!=0: #如果余数不等0,则进行以下循环

m =________ #把最小值赋给m

n =_________ #把余数赋给n

r = m%n #求得最大值除以最小值后的余数

print('这两个数的最大公约数为:',______) input("运行完毕,请按任意键退出....")

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

实现功能:绘制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._________

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

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的输出结果是______________。

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

import random

secret=random.randint(0,10)

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

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

while cs!=secret:

_______cs>secret:

_________ (“唉,猜大啦!”)

__________:

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

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

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

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

#ex16.py

i=0

sum=0

while i<10:

if i%3==0:

sum+=i

print(i)

i=i+1

print('sum',sum)

_________

7.以下是计算s = 1+6+11+...+ 101的程序代码,请补全程序。

s=0

for i in range(1,102, ):

s= print( s)

请补充完成上述程序①_________ ②_________

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.求水仙花数(一个三位数,其各位数字立方和等于该数字本身)

11.编写一个程序,实现九九乘法口诀表。

12.程序设计:唐三藏又被妖怪抓走了,这次孙悟空还是没打得过妖怪,于是来求观音菩萨。观音菩萨告诉孙悟空,在天庭里身高正好为1000米的那位神仙可以降伏此妖。于是悟空立刻来到天上,在玉皇大帝的神仙册上看到了按身高从矮到高排列有10000个神仙。由于时间紧迫,悟空想用最短的时间找到这位神仙,这样才可以尽快解救唐僧。

代码如下:

List=list(map(int,input(“请按身高递增顺序依次输入10000个神仙的身高”).split()))

left=1

right=10000

while ①

mid= ②

if List[mid]==1000:

elif List[mid]<1000:

else:

print(“能帮孙悟空的神仙在第{0}位上”.format(mid+l))

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

A.left<right B.left<=right C.left!=right D.left>right

(2)程序代码中②处正确的代码是(_______)。

A.(left+right)/2 B.(left+right)\2

C.(left+right)//2 D.(left+right)\\2

(3)程序代码中③处正确的代码是(_______)。 A.pass B.print(mid)z C.break D.continue

(4)程序代码中④处正确的代码是(_______)。-

A.left=mid B.right=mid C.left=mid+1 D.right=mid-1

(5)程序代码中⑤处正确的代码是(_______)。

A.left=mid B.right=mid C.left=mid+1 D.right=mid-1

13.有如下程序段:

sum=0

for i in range(1,20,3) :

sum+=i

print(“sum=”,sum)

(1)循环变量i的初值为:_________,终值为:_________,步长为:__________。

(2)该程序执行后,输出的结果为:____________________。

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.小敏有10万元本金,想要购买银行保证收益型理财产品。每年到期后连本带利仍购买此种理财。请你帮助小敏分析,在年收益率不变的情况下,多少年后小敏的累计收益能超过本金,请完成程序填空。(例如输人:5.15%,输出:14年后收益超过本金。)

1 s=input("请输入年利率:")

2 rate=float(s[:-1])*0.01

3 money=100000

4 year=0