4.1.4 Python的函数 知识点题库

分析代码,完成问题

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) 补充划线横线处的内容

     ② ③ 

以下选项中,表达式的值最大的是(    )
A . Sqr(50) B . 28 \ 3 Mod 10 C . Val(Mid("202007", 6, 1)) D . Abs(Int(-7.1))
下列VB表达式中,计算结果与其他不同的选项是(  )
A . Len("1+4=") B . 17 Mod 13 \ 2 C . Abs(Int(-4.5)) D . Val(Mid(“2020520”,5,1))
不是系统函数的是(   )
A . input() B . bin() C . float() D . factorial()
有如下VB程序,实现从26个英文字母中随机取4个显示在列表框List1中。

st = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

s=””

For i= 1To 4

    t = Int(Rnd*8)*2+11

    If t\10=2Then

      t=t+1

    Else

      t=t-1

    End If

    s=s+Mid(st,t,1)

Next i

List1.AddItem s

执行该程序段后,列表框List1中可能显示的内容是(    )

A . YNXT B . AVZX C . RZZX D . KVJZ
如图 a 所示,在 excel 中使用Rank函数可以快速地返回一个数字在数字列表中的排位,而且是同分同名次,非常方便。小明想用Vb编写一个程序来实现类似Rank排名次的功能,程序运行时,随机产生10个[60,100]之间的随机数,并显示在列表框List1中,单击“排名”按钮Command1,在列表框List2中输出数据及其排名,程序运行界面如图 b 所示。

  1. (1) 随机产生[60,100]之间的随机数的代码为:
  2. (2) 实现上述功能的 VB 程序如下,代码加框处有错,请改正。
  3. (3) 划线处填入正确代码。

    Dim a(1 to 10) As Integer     ‘存储原始数据

    Dim b(1 to 10)As Integer    ‘存放名次

    Private Sub Command1_Click()

        Dim i As Integer, j As Integer, n As Integer

        For i=1 To 10 n=0

            For j=1 To 10

                If  Then

            Next j

        Next i

        b(i)= n

        For i= 1 to 10

            List2.Additem str(a(i))&“ ”&

        Next i

    End Sub

    Private Sub Form_Load()

    ‘随机产生 10 个[60,100]之间的随机数,并显示在 List1 中,代码略。

    End Sub

字符加密:用 VB 编写某字符串加密解密程序(仅针对 ASCII 码字符)。其加密过程如下:

1)对待加密的字符进行判断,如果是英文字符的,则将该字符后移2位(如:字符“A”转换成“C”,字符“Z”转换成“B”,字符“a”转换成“c”,字符“z”转换成“b”),其他字符保持不变;

2)求出每个字符的ASCII码,然后用7位二进制来表示,比如“4”的ASCII码为十进制52,转换为7位二进制为“0110100”;

3)从左至右依次记为第1,2,3……7位,分别把第3,4,5位取反。即0变1,1变0,至此“0110100”变为“0101000”,将此二进制转换为ASCII码为40,对应的字符为左括号“(”,即“4”经过加密后得到加密字符为左括号“(”。

在文本框Text1中输入ASCII字符,单击“加密”按钮Command1,则在文本框Text2中显示经过加密的字符。程序界面如图所示,请完成下列问题。

  1. (1) 若在文本框Text1中输入字符“4My5”,则在文本框Text2中显示的加密字符为
  2. (2) 实现上述功能的 VB 程序如下, 请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, ch As String s = Text1.Text

        For i = 1 To Len(s)

            ch = Mid(s, i, 1)

            If ch >= "A" And ch <= "Z" Then

               

                ElseIf ch >= "a" And ch <= "z" Then     '让小写字母后移2位,代码略

            End If

            Text2.Text = Text2.Text +

        Next i

    End Sub

    Function jm(x As String) As String

        Dim a(1 To 7) As Integer, j As Integer, n As Integer, asc1 As Integer

        asc1 = Asc(x)

        n = 0

        For j = 7 To 1 Step -1

            If j = 3 Or j = 4 Or j = 5 Then a(j) = 1 - asc1 Mod 2

            Else

                a(j) = asc1 Mod 2

            End If

            n =

            asc1 = asc1 \ 2

        Next j

        jm = Chr(n)

    End Function

在python中,下列求和函数运算结果错误的是(     )
A . sum(3,5,7)=15 B . sum([3,5,7])=15 C . sum((3,5,7))=15 D . sum({3,5,7})=15
有如下VB程序段

Dim k As Integer, num As Integer, m As Integer

Dim s As String, ans As String

s =" abcdefghi jk lmnopqrs tuvwxyz "

k=26:ans=””

m = Val(Text1.Text)

Do While m> 0

    x=Int(Rnd()*k)+1

    ans=ans+Mid(s, x,1)

    s =Mid(s,1,x-1)+Mid(s,k,1)+Mid(s,x+1,26-x)

    k=k-1:m=m-1

Loop

Text2.Text = ans

文本框Text1中输入4,执行上述程序后,文本框Tex2中有显示的内容不可能为(    )

A . snyg B . tuna C . vmlc D . Amzm
下列VB表达式的值一定为True的是(     )

①Val("10") + 10 = 20

②123Mod100\10=3

③"true"="True"

④Int(Rnd*2)=1

A . ①③ B . ②④ C . ①② D . ①②④
在Python中,数据的输入是通过(    )来实现的。
A . input( )函数 B . print( )函数 C . bool( )函数 D . abs( )函数
有如下VB程序段:

For i=1 To 5

    a(i)=Int (Rnd*9) +1

Next i

For i= 1 To 5

    If i Mod2=0 Then

        a(i) = a(i)\i

    Else

        a(i)= a(i) Mod i

    End If

Next i

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

A . 0 3 2 1 4 B . 1 2 3 4 5 C . 0 1 4 2 3 D . 0 5 2 2 4
以下程序引入Python的math模块,使用math模块下的floor函数对命令行输入的实数进行取整。请将程序补充完整。

n=input(“请输入一个实数:”)

n2= math. floor(float(n))

print(n2)

以下程序执行后将输出100到200之间所有的素数,并统计素数的个数

 Private Sub Form_Click( )

    Dim i%, j%, k%, t%         't为统计素数的个数

    Dim b As Boolean

    For i = 100 To 200

        b = True

        k=

        j = Int(Sqr(i))

        Do While k <= j And b

            If i Mod k = 0 Then

                

            End If

            

        Loop

        if b=true then

            t = t + 1

            Form1.Print i

        End If

    Next i

    Print "t="; t

End Sub

read、readline和readlines之间的区别?
下列代码如果从键盘输入7,那运行结果是(     )。

varl=input("请输入一个数:")

var2=var1+'0'

var3=int(var2)+3

print(float(var3))

A . 703 B . 73 C . 703.0 D . 73.0
程序如下,键盘输入23和3,最后无法输出26,出错语句为(    )

a=int(input())①

b=int(input())②

c=a+b

print('c')③

A . B . C . D . 都出错
求矩阵列和的最大值,算法如下:数字矩阵有n * n(n不大于10)个数组元素,数组元素为随机生成任意的两位正整数,按n行n列进行排列,其中第一行的数据依次为a(1)~a(n),第二行的数据依次为a(n+1)~a(2* n……。例如当n=5时,随机生成25个数组元素,并排列成5 *5的矩阵,第一行的数据为a(1)~a(5),第二行的数据依a(6)~a(10) …….。现要求按列进行求和,并找出最大值的列。小江编写了一个VB程序,功能如下:在文本框Text1中输入n的值,单击“计算”按钮Command1后,在列表框List1中显示随机生成的n *n的数字矩阵,同时在列表框List2中显示每一列数据的求和结果、最大值及对应的列号,程序运行界面如图所示。

实现上述功能的VB程序如下,请回答下列问题:

  1. (1) 语句List1.AddItem s中的“AddItem"属于(单选, 填字母:A .对象名/B .属性名/C .方法名/D .过程名)。
  2. (2) 请在划线处填写合适的代码。

    Private Sub Command1_ Click( )

        Const Maxn= 100

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

        Dim max As Integer, sum As Integer, n As Integer

        Dim a(1 To Maxn) As Integer, s As String

        n= Val(Text1. Text)

        Randomize

        For i=1 To n* n

            a(i)=

            s=s+Str(a(i))

            If i Mod n=0 Then

                List1. AddItem s

                s=“”

            End If

        Next i

        For i=1 To n

            sum= 0

            For j=

                sum=sum+a(j)

            Next j

            List2. AddItem "第" + Str(i) +"列的和是:"+Str(sum)

            If sum > max Then max=sum :       '改错

        Next i

        List2. AddItem "其中第" + Str(c)+ "列和最大,值为:"+Str(max)

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
有如下VB程序段:

i =1

Do While i<=5

    a(i)= Int(Rnd*10)*2 + 1

    If Not flag(a(i)) Then flag(a(i))=True

    i= i + 1

Loop

已知数组flag各元素的初值为False,运行以上程序段程序,数组元素a(1)到a(5)的值可能为(    )

A . 3  9  16  15  11 B . 5  7  9  7  13 C . 9  3  7  1  15 D . 9  17  5  21  1
已知list1=list("win"),执行语句list1[2:]=list("game")后,列表list1中的内容为(  )
A . ["g","a","m","e"] B . ["w","g","a","m","e"] C . ["w","i","g","a","m","e"] D . ["w","i","n","g","a","m","e"]
最近更新