常用标准函数 知识点题库

分析代码,完成问题

listque=[]                        #定义列表listque存储订单

x=0

while(x!=4):                      #当x=!4时,执行循环

    print('1. 添加订单')

    print('2. 发货')

    print('3. 查看订单列表')

    print('4. 退出')

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

    if     ①      :

        y=input("输入订单编号:")  #输入订单编号

             ②               #在列表listque中添加订单号

    elif x==2:

              ③              #如果订单列表为空

            print("订单列表为空")

        else:

            print("发货单号:"+listque.pop(0)) 

    elif x==3:

        print("等待发货:",listque)            #查询列表listque中的订单号

    print()

input("运行完毕,请按回车键退出...")

  1. (1) 此列表,定义的是列表。(从“空、非空”里选填)
  2. (2) 补充划线横线处的内容

     ② ③ 

下列能随机产生三位正整数的VB表达式是(     )。
A . Int(Rnd*899)+100 B . Int(Rnd*900)+100 C . Int(Rnd*1000 ) D . Int(Rnd*999)
编写“字母出现频率测试”程序,实现如下功能:在文本框Text1中输入英文句子,单击“统计”按钮,在列表框List1中显示小写字母出现的次数,同时显示字母出现频率最高的次数。程序运行界面如图所示。

 

  1. (1) 在设计程序界面时,应使用图中所示“控件工具箱”中的  (填写相应编号)添加“统计”按钮。

  2. (2) 实现“统计”功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub CmdTJ_Click()

        Dim count(25) As Integer

        Dim ch, ch2 As String

        Dim m As Integer

        ch = Text1.Text

        For k = 1 To Len(ch)

           

            n =  Asc(ch2)-Asc(“a”)

            If n >= 0 And n <= 25 Then

                count(n) = count(n) + 1

                List1.AddItem "字母" + ch2 + "出现" + Str(count(n)) + "次"

            End If

        Next k

        m = count(0)

        For k = 1 To 25

            If  Then m = count(k)

        Next k

        Label1.Caption = "字母最高出现" + Str(m) + "次"

    End Sub

  3. (3) 分析如上代码,“统计”按钮的对象名称为 。(单选,填字母:A . Command1 / B . CmdTJ / C . CmdTJ_Click / D .统计)
下列VB表达式计算结果为True的是(    )
A . Int(Sqr(10)) > 2 ^ 2 B . Mid("0123", 3, 2) > "56" C . Len("654321") > Int(Rnd * 3) ^ 2 D . Not (3 = 4 Or 5 > 3)
下列VB程序段功能为:在文本框Text1中输入由一串字母和数字构成的字符,在文本框Text2显示字符串去重以后的结果,其中字母不区分大小写,即“a”和“A”判定为相同。

例如:字符串“2021xuankao", 去重为“201xuanko".

Dim c(0 To 35) As Integer

s = Text1.Text: res =

For i=1 To Len(s)

    ch=Mid(s,i,1)

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

k = Val(ch) + 26

    Else

        

        

    End If

        

    If c(k)=1 Then res=res+ch

Next i

Text2.Text = res

上述程序段中方框处可选语句为:

①k = Asc(ch) - Asc("a")   ②k = Ase(ch) - Ase("A")  ③e(k) = c(k) + 1  ④c(k) = 1  ⑤If k =0 Thenk=k+ 32  ⑥If k>= 32 Then k=k-32

则①②③处语句依次可为(    )

A . ②⑥③ B . ②⑥④ C . ①⑤③ D . ①⑤④
编写一个VB程序,功能如下:单击“随机数”按钮Command1,随机产生n个[10,50]范围的偶数。单击“计算”按钮Command2,在这n个随机数中找出四个数a,b,c,d,满足d=a+b+c,且d为所有满足条件组合中的最大值,如果存在符合要求的d,则在Text2中显示d的值,否则显示“no solution"。

例如:42、50、14、16、22、10、34、10、12、38这10个数中,最大的d为50,50=12+16+22。请回答下列问题:

  1. (1) 分析程序可知,生成随机数的事件处理过程名是
  2. (2) 实现功能的VB程序如下,请在划线处填入合适的代码。

    Dim a(1 To 20) As Integer

    Const n = 10

    Private Sub Command1_ Click)

        Dim i As Integer

        Randoni ze

        For i=1Ton

            a(i) =

            Text1.Text = Text1. Text + Str(a(i))

        Next i

    End Sub

    Private Sub Command2_ Click ()

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

        Dim left As Integer, right As Integer

        Dim ans As Integer, flag As Boolean

        flag = True

        '对数组a进行升序排序,代码略

        i=n

        Do While i >= 1 And flag

            j=i-1

            Do While j >= 1 And flag

               

                left = 1

                right = j- 1

                Do While

                    If ans > a(left) + a(right) Then

                        left=left+1

                    ElseIf ans < a(left) + a(right) Then

                        right = right-1

                    Else

                        Text2. Text = Str(a(i))

    flag = False

                    End If

                Loop

                j=j-i

            Loop

            

        Loop

        If flag Then

            Text2. Text ='no solution'

        End If

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
以下选项中,表达式的值最大的是(    )
A . Sqr(50) B . 28 \ 3 Mod 10 C . Val(Mid("202007", 6, 1)) D . Abs(Int(-7.1))
有VB程序段如下:

p = Val(Text1.Text)

t = 0: j = 2: flag = True

s = Text1.Text + "="

Do While p > 1 And flag

   If p Mod j = 0 Then

      t = t + 1

      p = p \ j

      s = s + Str(j) + "*"

   Else

      If t = 1 Then flag = False

      t = 0: j = j + 1

   End If

   If p = 1 And t = 1 Then flag = False

Loop

If flag Then

   Text2.Text = Mid(s, 1, Len(s) - 1)

Else

   Text2.Text = Text1.Text + "不是漂亮数"

End If

执行该程序段,在文本框Text1中输入6,则文本框Text2中显示的内容为(    )

A . 6= 2* 3 B . 6= 2* 3* C . 6= 1* 2* 3 D . 6不是漂亮数
某数字字符串的加密算法如下:

①从左往右扫描,若其中存在连续上升数字字符,则进行压缩。其中,数字字符串“91”也算连续上升。连续上升的数字字符不超过9个,若超过9个则该数字字符串分成两段。例如:“12324789123456789”可以压缩成“1-3247-67-9”

②对压缩后的数字字符进行加密,其中,数字字符“1”-“9”用加密字符“A”-“I”表示,未经压缩的数字字符原样输出。例如:“1-3247-67-9”加密后是“A-C24G-FG-I”。

程序界面如图所示。

  1. (1) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, k As Integer, i As Integer, t As Integer

        Dim sjg As String, mw As String, start1 As Integer, end1 As Integer Dim a(1 To 100) As Integer

        mw = "ABCDEFGHI"

       

        t = 1

        a(1) =

        For i = 2 To Len(s)

    a(i) = Val(Mid(s, i, 1))

            If Then

                t = t + 1

            Else

                If t > 1 Then

                    start1 =

                    end1 = a(i - 1)

                    sjg = sjg + Mid(mw, start1, 1) + "-" + Mid(mw, end1, 1)

                Else

                    sjg = sjg + CStr(a(i - 1)) ‘CStr 函数将表达式转换为字符串,并去除前导空格

                End If

                t = 1

            End If

        Next i

        Text2.Text = sjg

    End Sub

  2. (2) 若加框处代码改为“s = Text1.Text”,在文本框Text1中输入“45678989123456789”单击“加密”按钮后,文本框Text2中显示的内容是
下列python表达式结果为5的是(     )
A . abs(int(-5.6)) B . len("3+5>=6") C . ord("5") D . round(5.9)
在Python中,数据的输入是通过(    )来实现的。
A . input( )函数 B . print( )函数 C . bool( )函数 D . abs( )函数
字符串变量a的值为“Hello, world!”,下列Visual Basic表达式的值是“world”的是(    )
A . Len(a,6,5) B . Mid(a,6,5) C . Mid(a,7,4) D . Mid(a,7,5)
有如下VB程序段:

For i = 1 To 5

    a(i)= Int(Rnd * 10)

Next i

For i = 2 To 5

    If a(i) < a(i -1) And a(i) Mod 2 = 1 Then

        a(i) = a(i) + 1

    ElseIf a(i) Mod 2 = 0 And i Mod 2 = 0 Then

        a(i) = a(i -1) -1

    End If

Next i

执行程序后,a数组各元素不可能是(    )

A . 6,6,4,3,3 B . 0,-1,9,8,4 C . 4,3,5,8,7 D . 0,1,3,2,0
有VB程序段如下:

Dim a(1 To 6) As Integer, i As Integer

a(1) = Int(Rnd() * 5) + 95

For i=2 To 6

    a(i)=a(i-1)-Int(Rnd()*5)

    If i Mod2=0 Then a(i) = a(i) + a(i) Mod 2

Next i

程序运行后,a(1)-a(6)中可能的值是(     )

A . 95  92  88  86  86  84 B . 95  92  88  87  86  84 C . 95  92  88  86  84  85 D . 100  92  88  86  86  84
某Python程序段如下:

s = "p2y0t2H3on1*c"

t =""

for ch in s:

    if "A”<= ch <="Z":

        ch = chr (ord(ch) + 32)

    if "a”<= ch <="z”:

        t=t+ch

print (t)

运行该程序段,输出结果是

哥德巴赫猜想提出:任一大于2的偶数都可表示成两个质数之和。小余想通过Python程序来验证这一猜想,输入一个大于2的偶数,输出一个满足猜想的表达式。程序代码如下:

import math

def Isprime(x):

for i in range(2, int(math.sqrt(x))+1):

  if   ①  :

    return False

  return True

  n=int(input(“请输入一个大于2 的偶数:”))

  for p in range(2,n-1):

    q=n-p

    if   ②  :

      print(n,"=",p,"+",q)

  break

下列选项中能实现该代码程序功能的是(      )

A . ①x%i!=0 ②Isprime(p) and Isprime(q) B . ①x%i!=0 ②Isprime(p) or Isprime(q) C . ①x%i==0 ②Isprime(p) and Isprime(q) D . ①x%i==0 ②Isprime(p) or Isprime(q)
已知字符"A"的ASCII码为65,变量ch表示某个大写字母,下列表达式可以实现大写字母转换成小写字母的是(    )
A . ch = chr( ord(ch) - 32) B . ch = chr( ord(ch) + 32) C . ch = ord( chr(ch) - 32) D . ch = ord( chr(ch) + 32)
下列Python表达式中,值最小的是(    )
A . 2022//10%7 B . len("Fyms6!!") C . abs(-7) D . 66/10
有如下VB程序段:

a(0)= Int(Rnd() * 6+95)

For i=1 to 5

a(i)=a(i-1)-Int(Rnd() * 6)

  If i Mod 2=0 then

    a(i)=a(i)+a(i) Mod 2

  End if

Next i

执行该程序段后,在下列选项中,a(0)~a(5)各元素值可能是(    )

A . 96,95,90,89,86,82 B . 95,92,89,87,86,84 C . 95,92,88,86,84,85 D . 100,92,88,86,86,84
下面是“打印矩形.py”,正确答案是(   )。

请填空完善该程序,实现功能:按程序提示依次输入行和列的数字,则按行列打印由“*”组成的矩形。例如,按提示输入:

请输入行数:3

请输入列数:5

屏幕将打印以下图形:

a=int(input("请输入行数:"))

b=  ①  

for i in range(  ②  ):

    for j   ③  

        print(  ④  , end=' ')    #end=' '表示接上一个输出项后输出,不换行

print( )

A . ① int(input("请输入列数:"))  ② a+1  ③in range(b)      ④‘*’ B . ① int(input("请输入行数:"))  ② a+1  ③in range(b+1)    ④‘**’ C . ① int(input("请输入列数:"))  ② a     ③in range(b)      ④‘*’ D . ① int(input("请输入列数:"))  ② a     ③in range(b+1)    ④‘**’
最近更新