4.1.4 Python的函数 知识点题库

下面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
对输入字符串中重复字符进行压缩,例如:字符串“aaabbc”压缩后就成为“3a2b1c”,

实现该功能的 VB 程序段如下:

s = Text1.Text: c = 1

For i = 2 To Len(s)

    If  Then

        c = c + 1

    Else

        s1 = s1 + Trim(Str(c)) + Mid(s, i - 1, 1)      ‘Trim函数用于移除字符串两侧的空字符

   

    End If

Next i

s1 = s1 + Trim(Str(c)) + Mid(s, i - 1, 1)

上述程序段两个方框处的语句分别为:(    )

A . Mid(s, i, 1) = Mid(s, i - 1, 1) c = 0 B . Mid(s, i, 1) = Mid(s, i - 1, 1) c = 1 C . Mid(s, i, 1) = Mid(s, i + 1, 1) c = 0 D . Mid(s, i, 1) = Mid(s, i + 1, 1) c = 1
生成一组由“0”-“9”字符组成的10位不重复随机密码,VB程序段如下:

s1= “0123456789”: n = Len(s1)

For i=To 10

   

    n=n-1

Next i

Text1.Text=s

方框中的代码从下列代码中选取:

①s=S+Mid(s1,x,1)  ②x= Int(Rnd*n)+1  ③x =Int(Rnd*(n+ 1))

④s1=Mid(s1,1,x) +Mid(s1,x+1,n-x)  ⑤s1=Mid(s1,1,x-1)+ Mid(s1,x+1,n-x)

代码顺序正确的选项是(    )

A . ②①④ B . ②①⑤ C . ③①④ D . ③①⑤
将一段只含大小写字母与空格,不含其它字符的字符串加密,加密算法描述如下

1)将明文中的字母E替换为A,F替换为B,G替换为C,…A替换为W,B替换为X,C替换为Y,…,小写字符的替换方法同理。

如:明文:I Love China 加密为:E Hkra Ydejw

2)将加密后的英文字母,按顺序依次放入每个字符串段落中,第1个加密字母E放在第1个段落,第2个字母H放在第2个段落,依次类推(如下图),段落间用逗号分隔并以逗号结尾。当遇到空格,在段落末尾“,”前,插入“+”号作为标记。

第1段

第2段

第3段

第4段

第5段

第6段

第7段

第8段

第9段

第10段

E+,

H,

k,

r,

a+,

Y,

d,

e,

j,

w+,

3)每个段落中,随机插入字母形成新的字母序列段,当段号小于8时加密字母在字母序列

中存放位置刚好是该段落号,位置以8为周期,第9段时,加密字母存放位置回到字母序列的第1位,第10段加密字母存放位置回到第2位,依次类推。(位置号<=8)

第1段

第2段

第3段

第4段

第5段

Etc+,

mHfryh,

oTkrestf,

rfir,

Ccfta+,

第6段

第7段

第8段

第9段

第10段

iynhyYf,

tqswjyd,

nrtesiueh,

jnytq,

Uwccdb+,

4)在每一段中随机插入除英文字母之外的ASCII字符码,形成一串密文。如图所示:

  1. (1) 若密文字符串为:“!@8G+*y/$#r~!s,f?[:a34c33!<e=w,123#r@/{t++*%&M2s7s,+h@f$5/j+*^e.? i*,/6*+e$(c3~/: p-)h->w%&3@w!@,4/*i#$@+m!j65&*(kr+^$k++k#l,”

    则根据加密算法,解密后的明文为

  2. (2) 为了寻找密文中隐藏的信息,小明编写了一段VB解密程序,代码如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim i As Integer, k As Integer

        Dim s As String, c As String, ch As String

        Dim letter As String, ret As String        'letter 用于存放字母序列s = Text1.Text

        k = 1

        For i = 1 To Len(s)

            c = Mid(s, i, 1)

            If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then letter = letter + c

            ElseIf

                c = ","

            Then

                 

                ch = Chr(Asc(ch) + 4)

                If Not (ch >= "A" And ch <= "Z" Or ch >= "a" And ch <= "z") Then ch = Chr(Asc(ch) - 26)

                End If

                IfThen ret = ret + ch + " "

                Else

                    ret = ret + ch

                End If

                 

                k = k + 1

            End If

        Next i

        Text 2.Text = ret

    End Sub

有如下VB程序段:

Private Sub Command1_Click()

    Dim s As String, ch As String

    Dim n As Integer, t As Integer, c As Integer

    s = "Go-2020-12"

    n = Len(s):t = 0

    For i = 1 To n

        ch = Mid(s,i,1)

        If ch >= "0" And ch <= "9" Then

            t = t + Val(ch)

        Else

            c = t: t = 0

        End If

    Next i

    Label1.Caption = Str(c)

End Sub

执行完以上程序段后,标签Label1上显示的内容为(    )

A . 7 B . 2 C . 3 D . 4
给定n个学生成绩,筛选男生或女生中成绩居前百分之k的学生。筛选规则如下:m=男生或女生记录数×k%,若m<1,则m取1;否则m向下取整,如m=3.1,则筛选最大的3项。若有数据和第m项的值相同,则一起筛选出。如有男生成绩分别是“78,99,98,99,90”,以“最大10百分比”筛选,则5×10%=0.5,筛选最大的1项,筛选出“99,99”。

编写一个VB程序,实现上述功能。程序运行时,在列表框List1中显示n名学生的姓名、性别和成绩,在文本框Text1中输入性别,Text2中输入k,单击“筛选”按钮Command1,在列表框List2中显示筛选出的学生姓名、性别和成绩。程序运行界面如图所示。

  1. (1) 下列VB语句可以实现清空文本框Text1内容的是(单选,填字母:A .Text1.Clear / B .Text1.Caption = "" / C .Text1.Text = "")
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Dim n As Integer

    Dim xm(1 To n) As String

    Dim xb(0 To n) As String

    Dim cj(0 To n) As Integer

    Private Sub Form_Load()

    '读取学生姓名、性别和成绩分别存 xm、xb 和 cj 数组,并在列表框 List1 中显示。

    '学生人数存变量 n,代码略。

    End Sub

    Private Sub Command1_Click()

        Dim s As String, k As Single, m As Single, mm As Integer

        Dim c As Integer, p As Integer, i As Integer, j As Integer

        Dim t1 As String, t2 As Integer

        s = Text1.Text

        k = Val(Text2.Text)

        c = 0

        For i = 1 To n

            If xb(i) = s Then

        Next i

        m = c * k / 100

        If m < 1 Then

            mm = 1

        Else

            mm =

        End If

        i = 1

        Do While i <= n

            p = i

            For j = i + 1 To n

                If xb(j) = s Then

                    If  Then p = j

                End If

            Next j

            If i <> p Then

                t1 = xb(i): xb(i) = xb(p): xb(p) = t1

                t2 = cj(i): cj(i) = cj(p): cj(p) = t2

            End If

            If i > mm And (xb(i) <> xb(i - 1) Or cj(i) <> cj(i - 1)) Then Exit Do

            i = i + 1

        Loop

       

        For i = 1 To mm

            List2.AddItem xm(i) + " " + xb(i) + " " + Str(cj(i))

        Next i

    End Sub

  3. (3) 程序加框处的代码有误,请改正。
下列VB表达式中的值必定为一个两位正奇数的是(   )
A . Int(Rnd( )*90+11) B . Int(Rnd( )*45+5)*2+1 C . Int(Rnd( )*88+10)+1 D . Int(Rnd( )*90+11)*2+1
在VB中,下列函数的值属于字符串常量的是(   )
A . Val("10") B . Len("10") C . Str(10) D . Sqr(10)
在VB中,与表达式Len("程序设计")的结果相同的是(   )
A . 程序设计 B . Str(4) C . 19 mod 5 D . Abs(﹣8)
在Python中,通过(    )函数查看字符的编码。
A . int( ) B . ord( ) C . chr( ) D . yolk( )
Dim A As String, B As String

Dim C As Long

A="456":B="123": C=Val(A+B)

该程序段运行后,C的值为

在python中运行print(“3+6”)的结果是(    )。
A . 9 B . “3+6” C . 3+6 D . “9”
有如下VB程序段:

a(1)=20: a(2)=3: a(3)=21: a(4)=37

a(5)=62: a(6)=20: a(7)=13: a(8)=33

k=Abs(a(2)-a(1))

For i=3 To 8

    If Abs(a(i)- a(i-1))>k Then k= Abs(a(i)-a(i-1))

Next i

执行该程序段后,变量k的值为(    )

A . 7 B . 17 C . 25 D . 42
在Python Shell环境下,依次执行下列语句后,显示结果(    )。

data=[172,9,165,29,156,21]

max(data)

A . 9 B . 165 C . 172 D . 21
能去除字符串中空格的方法是(     )
A . lstrip( ) B . upper() C . startswith( ) D . ljust( )
实现大写字母转换为小写字母的函数是实现小写字母转换为大写字母的函数是
小张同学编写如下一段vb代码,并输入水费100,电费200,输出的结果会是(   )

a = InputBox("水费")

b = InputBox("电费")

Print a + b

A . 300 B . 100200 C . 100 D . 100+b
有如下VB程序段:

c = Text1.Text

s1 = "jiayou!" s2 = s1 + s1

For i =1 to len(s1)

    If c = Mid(s2, i, Len(s1)) Then Exit For

Next i

Label1.Caption = Str(i)

程序执行完后,Label1中显示的内容是4,则Text1中输入的内容是(     )

A . "jiayou!" B . "you!jia" C . "ayou!ji" D . "jayou!j"
单车道胡同路边停车,先进去的车只能从另一出口出来,阅读程序代码(break表示退出循环):

listque=[]        #定义列表listque存储停车状况

max=8         #停车位最大容量

while(True): 

    print('1.停车')

    print('2.开车离开')

    print('3.查看停车库')

    print('其他. 退出')

    x=input("输入你的选择:")        #输入选择项

    if x=='1':

        if len(listque)< :

            print("还有",max-len(listque),"个停车位。")      

            listque.append(input("请输入停车车牌:"))       

        else:

            print("对不起,停车位已满。")

        elif x=='2':

            if len(listque)==0:                           

                print("停车库为空。")

            else:

                print (,"开出。")    

        elif x=='3':

             print(listque)

        else:

            break

在横线中填入代码中

在Python中,函数体用“return(表达式]”将表达式的值返回给调用者,如果return后面没有表达式,这时函数返回的是(    )
A . None B . 1 C . -1 D . False
最近更新