(完整版)python考试复习题库优质
一、选择题
1.Python中幂运算(指数运算)的运算符为( )。
A.* B.** C.% D.//
2.设a=2,b=5,在python中,表达式a>b And b>3的值是( )
A.False B.True C.-1 D.1
3.在python中,下列哪个选项是正确的赋值语句( )
A.5s= 80 B.2018 =x C.a+b=c D.s=s+5
4.小明想要通过编程来解决由昆明到景东锦屏耗时最短行程问题时,最核心的工作是( )
A.设计出解决问题的算法 B.设计出解决问题的PPT
C.编写出Python代码 D.选择一种编程软件
5.现有如下python程序段:
for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ i ] % 2 == 1:
p[ i ] -= p[ i - 1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1, 2, 3, 4, 7, 2
B.1, 2, 14, -9, -5, 8
C.6, 8, 1, 4, 6, 10
D.6, 4, 14, -7, 3, 8
6.我们可以对文本中词频较高的分词,通过词云图给予视觉上的突出,小明打算用Python程序来生成词云图,程序中需要用到以下哪个第三方库?( )
A.WordCloud B.math C.random D.turtle
7.有python程序如下
a=int(input())
b=int(input())
python和vb的代码可以通用吗c=input()
if c=='+':
print(a+b)
elif c=='-':
print(a-b)
elif c=='*':
print(a*b)
elif c=='/':
print(a/b)
else:
print(“输入错误,请重试”)
当程序运行后,小新依次输入 9 2 *
程序输出结果应为( )
A.18 B.11 C.7 D.4
8.在python中,语句print(a,b)的意思是( )
A.打印a,b B.输出(a,b) C.输出a,b D.输出a,b的值
9.下列序列拼接错误的是()
A.list = [ None ] * 4
B.msg = “Python”, ”语言”
C.tup = “/”.join( ( “123”, ”234” ) )
D.set = { 1, 2, 3 } + { 4, 5, 6 }
10.下列选项中,不能作为python程序变量名的是( )
A.abc B.abc123 C.123abc D.abc__123
11.以下Python程序运行后,变量x和st的值分别是( )。
A.801 123678 B.801 “123678” C.801 801 D.123678 “123678”
12.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a= a-b * 10
print(a,b)
A.23 2 B.3 2 C.3 20 D.2 3
13.下列哪个语句在Python中是非法的?( )
A.x=y=z=1 B.x=(y=z+1) C.x,y=y,x D.x+=y
14.下列选项中,可以作为 Python程序变量名的是( )
A.a/b B.ab C.a+b D.a-b
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.阅读程序。分析以下Python程序并回答问题。
who='我的'
action='是'
destination='镜像世界'
number='153'
code='通行密码'
print( who+destination+code+action+str(number))
(1)变量who的数据类型_______________。
(2)类似number的数据类型______________ 。
(3)print语句输出的结果是______________。
(4)str(number)的作用是_________。
(5)“+”在程序中的作用是____________。
17.某种数据加密方法描述如下(加密前数据是ASCII字符):
●以8个数据为一段,将n个待加密数据依次分割成若干个数据段,剩余数据(个数小于8)为独立数据段。
●数据加密规则:数据个数等于8的数据段,对各个字符进行位置变换;数据个数小于8的数据段,不进行位置变换。
位置变换:用位置变换密钥数组c,将数据段每个字符进行位置变换,方法如下:
加密后某数据段的第i个元素=对应原数据段的第c(i)个元素,其中i=1,2,……,8。
数值变换:位置变换后,依次取出各个字符进行数值变换:把该字符的ASCII码转二进制,然后与密钥m对应的二进制数(m为1到255之间的整数)按位异或运算。异或运算(⊕)规则:如果a、b两个值不相同,则a⊕b结果为1;如果a、b两个值相同,则a⊕b结果为0,即:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。
●把上述处理的得到二进制数依次拼接,即构成最后的加密数据例如,待加密数据为“python3.50”,数组c各元素的值依次是
数组c | 3 | 6 | 1 | 5 | 2 | 8 | 4 | 7 |
则数据位置变换如下:
如值变换密钥m为35(二进制表示是00100011),则字符“t”(ASCII码值是116,二进制表示是010100)的数值变换过程如下:
变换前 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
密钥m | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
变换后 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 |
(1)已知“A”的ASCII码值是65,m=35,则“A”数值变换后的结果是_______(填二进制数据)。
(2)小李根据上述算法,设计了一个数据加密程序,其VB代码如下,请在划线处填入合
适的代码。
Const n = 1024
Dim c(1 To 8) As Integer
Private Sub Form _ Load()
‘产生位置变换密钥数组c,代码略
End Sub
Function convert(c As Integer)As String
‘程序功能:把整数c转成8位二进制数,代码略
End Function
Private Sub Command1_Click()
Dim s As String,st As String,ss As String,res As String
Dim i As Integer,j As Integer start As Integer
Dim a(1 To n) As String,b(1 To n) As String
s = Text1. Text
st = convert(Val(Text2. Text))
For i = 1 To Len(s)
a(i) = Mid(s,i,1)
Next i
i = 1:start = -8
Do While①________
If i Mod 8 = 1 Then start = start + 8
b(i)=②_______
i = i + 1
Loop
For j = i To Len(s)
b(j) = a(j)
Next j
For i = 1 To Len(s)
③________
For j = 1 To 8
If Mid(ss,j,1)= Mid(st,j,1)Then
res = res + "0" Else res = res + "1"
'按位异或
Next j
Next i
Text3. Text = res
End Sub
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:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论