Python期末试题A 精品
一、选择题
1.运行下列Python程序,输出结果为True,则空白处应为( )
a=15
b=46
if__________:
print(‘True’)
else:
print(‘Flase’)
A.a=b B.springboot jdk版本要求a>b C.a<b D.a==b
2.在python中,有程序如下
A=input()
print(A * 5)
通过键盘输入5,则运算结果是()
A.5 5 5 5 5 B.25 C.5*5 D.5 5
3.在Python中,表达式a**3+b**3+c**3==100*a+10*b+c属于( )
A.算术表达式 B.关系表达式 C.逻辑表达式 D.日期表达式
4.有如下 VB 程序段:
s1 = "python": s2 = "visual"
i = 1: j = 1: s = ""
Do While i <= Len(s1) And j <= Len(s2)
If Mid(s1, i, 1) >= Mid(s2, j, 1) Then
s = s + Mid(s1, i, 1)
Else
j = j + 1
End If
i = i + 1
Loop
执行该程序后,j的值是( )
A.2 B.3 C.5 D. 7
5.小平打算用python编写一个管理班上同学通讯录的程序,如果用一个变量A来对应处理同学们的电话号码,这个变量A定义成什么数据类型比较适合?()。
whoisthis是什么意思A.布尔型 B.浮点型 C.整型 D.字符串
6.如图Python代码执行后,a,b的值分别为:( )
A.5,10 B.10,5 C.index是什么意思翻译5,5 D.10,10
7.运行下列 Python程序,结果正确的是( )
a=32
b=14
c=a%b
print(c)
A.2 B.4 C.32 D.14
8.对于Python语言中的语句“x=(num//100)%10”,当num的值为45376时,x的值应为( )
A.3 B.4 C.5 D.6
9.在Python语言中,用来定义函数的关键字是( )。
A.return B.def C.function D.import
10.以下python程序段运行后,y的值是( )
x=3
if x > 3 :
y=2*x
else :
y=3*x+1
print(y)
A.10 B.5 C.25 D.26
11.关于python程序设计语言,下列说法错误的是( )
A.python是一种面向对象的编程语言 B.python代码只能在交互环境中运行
C.python具有丰富和强大的库 D.python是一种解释型的计算机程序设计高级语言
12.在python中,下列属于字符串常量的是( )
A."python" B.3.14 C.cnt D.2018
13.已知字符串a="python",则a[-1]的值为( )
A."p" B."n" C."y" D."o"
14.Python文件的后缀名是( )
A.pdf B.do C.pass D.py
15.在Python中要交换变量a和b中的值,应使用的语句组是( )
A.a,b = b,a B.a = c ;a = b;b = c
C.a = b;b = a D.c = a;b = a;b = c
二、程序填空
16.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。为求解规模为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中用递归算法求1python基础知识试题!+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)
17.某字符转置算法描述如下:
将字符串(均为大写字符)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 2.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<>0javabean是一个可重复组件
n=n十1
gridview控件增加功能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 3.Text=s ´在Text 3 中输出转置后的字符串
End Sub
18.完善程序实现以下功能并保存。
输出数组的最大值。
arr1 =[12, 435, 76, 24, 78, 54, 866, 43]
________ = -32768
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论