3.2 Python语言程序设计 知识点题库

有如下Visual Basic语句,书写格式正确的是(  )
A . Label1.caption=“Hello!” B . Label1.caption=(-b+sqr(b^2-4ac))/2 C . List1.AddItem=“Hello!” D . Text1.text=str(“Hello!”)
下列程序段的执行结果为(  )

   Dim A(10),B(5)

   For i = 1 To 10

       A(i) = i

       Next i

   For j = 1 To 5

       B(j) = j * 20

   Next j

   A(5) = B(2)

   Print "A(5)=";A(5)

A . A(5)=5 B . A(5)=10 C . A(5)=20 D . A(5)=40
诗诃爱好者小奇发现一些诗句中的叠字(有至少二个重叠的字)非常优美,如“庭院深深深几许”……,小奇希望用VB编写程序,寻找诗句中的叠字。程序运行界面如下:

  1. (1) 每次点击“运行”按钮,自动清空列表框List1的内容,可在过程“Command1_Click”中加入Listl. Clear,其中“Clear”是(单选。填字母:A .对象名/B .方法/C .属性/D .事件)。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click ()

        Dim i As Integer, n As Integer, flag As Boolean, txt As String

        txt=Text1. Text

        n=Len(txt)

        c=1

        For i=1 To n-1

            If Mid (txt, i,1)=   ①   Then

                flag=True

                c=c+1

            Else

                flag=Fals

            End If

            If   ②   Then

                List1. AddItem Mid (txt, i-c+1, c)

                c=1

            End If

        Next i

    End sub

     ② 

  3. (3) 若去掉加框代码,输入的诗句为“贫恨苦吟穷寞寞,乱愁牵断梦沉沉”(不含引号),则启动程序,单击“运行”按钮后,列表中_______(单选,填字母)。
    A . 输出: B . 输出: C . 输出: D . 无输出
已知k为十进制多位整数,下列选项中能正确表示含义“若k的十位是偶数则a为1,否则a为2”的是(  )
A . a=1: if k mod 2<>0 then a=2 B . a=2: if k mod 100 \2<>0 then a=1 C . if k \100 mod 2 <>0 then a=2 else a=1 D . if k\10 mod 2=0 then a=1 else a=2
编写VB程序,实现如下功能:在文本框Text1中输入某一年份,单击“天干地支与生肖”按钮Command1,在列表框List1中输出该年份开始的12个年份及对应的“天干地支”与“生肖”,运行界面如图所示,程序代码如下。

  1. (1) 代码“Private Sub Command1_Click()”中的Click是(单选,填字母:A 、对象名 B 、属性名 C 、事件名)
  2. (2) 为实现上述功能,请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim a As Integer, b As Integer

    Dim i As Integer, n As Integer

    Dim c1 As String, s1 As String

    Dim c2 As String, s2 As String

    Dim c3 As String, s3 As String

    List1.Clear

    s1 = "甲乙丙丁戊己庚辛任癸"

    s2 = "子丑寅卯辰巳午未申酉戌亥"

    s3 = "鼠牛虎兔龙蛇马羊猴鸡狗猪"

    n = Val(Text1.Text)

    For i = n To     ①    

        a = (i + 6) Mod 10

        b = (i + 8) Mod 10

        c1 = Mid(s1, a + 1, 1)

        c2 = Mid(s2, b + 1, 1)

        c3 = Mid(s3, b + 1, 1)

        List1.AddItem     ②     + "年 " + c1 + c2 + " " + c3

        Next i

    End Sub

     ② 

  3. (3) 由上述算法可知,2024年对应的“天干地支”为,“生肖”是
已知n是一个两位的正整数,则下列表达式能表示整数n的个位数字的是(   )
A . n/2 B . n/10 C . n mod 10 D . int (n/10)
VB程序中“Dim  n  As  Integer”这条语句的作用是(     )
A . 定义一个变量 B . 定义一个数据处理方法 C . 定义一个数据输入方法 D . 定义一个事件过程
已知数组a中存储五个数据:8,13,24,32,45,现在Text1中输入一个整数x,将x插入到数组中,并使数据序列仍保持有序。

Private Sub Command1_Click( )

Dim n, i, j, x As Integer

n=5:i=1

x=Val(Text1.Text)

If x>a(n)Then

  a(n+1)=x

Else

  Do While x>a(i)

         ①   

    Loop

    For j=n To i Step-1

      a(j+1)=a(j)

    Next j

       ②   

  End If

  n=n+1

End Sub

以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②

如果x=1,y=2,z=3,则下列表达式结果为False的表达式是(   )
A . (x>z) or (x<y) B . (x>y) or (x<z) C . (x>z) and (x<y) D . not (z<y)
一小球从100米高度自由落下,与地面碰撞时能量损失一半。假设小球每次与地面碰撞后反弹回到原来一半的高度(小球在运动过程中视为质点,且不计空气阻力),则经过5次落地共经过了287.5米。编写Python程序,实现计算小球从m米高处落下,在n次地面碰撞后经过的总路程。

height = 0

m = float(input("输入起始高度:"))

n = int(input("输入次数: "))

for i in range(1,n):

    if i= 1:

        height+=m

    else:

                       

    m/=2

print("总路程:" +str(height))

  1. (1) height变量的功能是
  2. (2) 程序中划线①处应填入的代码是 。
  3. (3) 程序调试如图所示,计算结果出错,该如何修改程序?

    输入起始高度:100

    输入次数:5

    总高度:275. 0

“百鸡百钱”问题是一个有名的数学问题,出自《张丘建算经》。其内容是:公鸡5文钱1只,母鸡3文钱1只,小鸡3只1文钱,用100文钱买100只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只?

运行程序,运行结果如图所示。

图片_x0020_100004

请在空格处填写正确的代码,使程序完善实现以下功能。

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,):          #公鸡只数可能为1-20

    for hen_num in range(1,):       #母鸡只数可能为1-33

        for chick_num in range(1,101): #(3小鸡)只数可能为1-100

            money1=cock_num*cock_price+hen_num*hen_price+chick_num/threechick_price

            num1=cock_num+hen_num+chick_num

            if money1==money and num1==num:

                print (cock_num,hen_num,)

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

为了给整型变量x y z赋初值5,下面正确的Python赋值语句是(    )
A .  x=5;y=5;z=5 B .  xyz=5 C .  x,y,z=5 D .  x=5,y=5,z=5
使用数组a实现英文字符的螺旋矩阵显示,螺旋从外到内字符依次变小,依据上述描述设计了如下VB程序,在Text1中输入矩阵的行数n(n≤5),单击“生成螺旋”按钮Command1,在List1中显示n×n的螺旋矩阵。程序运行界面如第16题图所示,请回答下列问题:

  1. (1) 当输入的行数为3时,单击“生成螺旋”按钮,列表框中第一个显示的英语字母是
  2. (2) 请在划线处填入合适的代码。

    Private Sub Command1_Click()

        Dim a(1 To 100) As String

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

        Dim ts As String, t As Integer, v As Integer

        n = Val(Text1.Text)

        v =

        t = 1

        For m = n To 1 Step -2

            For i = 1 To m            '向右方向填数

                a(t + i - 1) = Chr(Asc("A") + v - 1)

                v = v - 1

            Next i

            t = t + n - 1

            For i = 1 To m - 1      '向下方向填数

                a(m + t) = Chr(Asc("A") + v - 1)

                v = v - 1

               

            Next i

            t = t - n

            For i = m - 1 To 1 Step -1      '向左方向填数

                a(t + i) = Chr(Asc("A") + v - 1)

                v = v - 1

            Next i

            For i = m - 2 To 1 Step -1    '向上方向填数

                a(t - n + 1) = Chr(Asc("A") + v - 1)

                v = v - 1

                t = t - n

            Next i

            t = t + 2

        Next m

        For i = 1 To n         '在List1 中输出数组数据

            ts = ""

            For j =To i * n

                ts = ts + " " + a(j)

            Next j

            List1.AddItem ts

        Next i

    End Sub

下面哪个不是Python合法的标识符(    )
A . int_3 B . 30XL C . self D . _abc
某比赛项目由多位评委打分,然后根据项目难度系数计算最终得分。规则为:

最终得分=(所有评委打分总和-1个最高分-1个最低分)×项目难度系数

编写VB程序,实现计算最终得分的功能。在文本框Text1中输入项目难度系数和多位评委的打分,中间用“,”隔开并以“,”结尾,然后点击计算按钮,在文本框Text2中显示最终得分。程序运行界面如图所示。

  1. (1) 程序中计算按钮的对象名是  (单选,填字母:A .Command1/B .Cmd1/C .Cmd1_Click)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Cmd1_Click()

        Dim a(1 To 100) As Single

        Dim i As Integer, j As Integer, k As Integer, m As Integer, n As Integer

        Dim Tot As Single, tmp As Single

        Dim s As String, v As String, ch As String

        s = Text1.Text

        n = 1:v=""

       

        Do While n <= Len(s)

            ch = Mid(s, n, 1)

            If ch <> "," Then

                v = v & ch

            Else

                a(m) = Val(v)

                

                m = m + 1

            End If

            n = n + 1

        Loop

        For i = 2 To m - 2

            For j = m - 1 To i + 1 Step -1

                If a(i) < a(j) Then

                    tmp = a(i): a(i) = a(j): a(j) = tmp

                End If

            Next j

        Next i

        Tot = 0

        For

            Tot = Tot + a(i)

        Next i

        Text2.Text =

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
若两个素数之差为2,则该对素数称为双胞胎数,如3,5就是一对双胞胎数。编写python程序,实现如下功能:输入n的值,统计显示n以内的所有双胞胎数。程序运行界面如图所示:

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

def isprime(x):

    for i in range(2,x):

        If

            return False

        return True

        n=int(input(“请输入一个正整数n:”))

        c=0

        k=3

        while k<=n-2:

            if isprime(k) and

                print(k,k+2)

               

                k=k+1

print(“共有”+str(c)+“对双胞胎数”)

以下不符合VB语法的常量是(    )
A . 20-10 B . ”电脑” C . true D . 2.6E+01
有n个互不重复的数字,值的范围是[1,n],分别保存在数组元素a(1)到a(n)中,如果数字i保存在a(i),认为数字i在正确的位置上。若干个相互占用了位置的数字称为一组,一个在正确位置上的数字单独为一组,比如6个数字2,3,1,4,6,5分别保存在数组元素a(1)到a(6)中,则2、3、1为一组,4为一组,6、5为一组。该程序的功能为输出每组的情况。运行界面如下图:

  1. (1) 数组元素a(1)到a(5)的值分别为2、5、3、1、4,这5个元素总共有组。 
  2. (2) 请在划线处填入合适的代码。

    Const n=10

    Dim a(1 To n) As Integer    '保存原始数据

    Dim b(1 To n) As Boolean    '数组b用来标记相应的位置有没有找过

    Private Sub Command1_Click()

        Dim i As Integer, sum As Integer, total As Integer

        sum=0:total=1    'total表示第几组

        i=1

        List2.Addltem ″第″+Str(total)+″组″

        Do While sum<n

            Do While Not b(i)

                List2.Addltem a(i)

                b(i)=True

                

                sum=sum+1

            Loop

            If sum<n Then

                

                List2.Addltem ″第″+Str(total)+″组″

                i=1

                Do While b(i)      '该循环用来查找下一组的开始位置

                    i=i+1

                Loop

            End If

        Loop

    End Sub

    Private Sub Form_Load()

        Dim i As Integer

        Randomize

        For i=1 To n       '产生n个不一样的整数,范围为[1,n]

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

            Do While

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

            Loop

        Next i

        For i=1 To n

            List1.Addltem a(i)

            b(i)=False

        Next i

    End Sub

    Function f(x As Integer, y As Integer) As Boolean

        '该函数的功能:判断x和数组a中前y个数有没有重复

        Dim j As Integer

        f=False

        For j=1 To y

            If a(j)=x Then f=True:Exit For

        Next i

    End Function

Sum=0

For i in range(1,10,3)

  Sum+=i

Print("sum=", sum)

  1. (1) 循环变量i的初始值为,终止值为,步长值 。
  2. (2) 该程序段执行后,输出的结果为
  3. (3) 该程序循环语句sum+=i共执行了次。
下列VB表达式的值为True的是(    )
A . sqr(10)>2^2 B . Int(2.6)=len("123") C . "13"*<7"' D . 15/6>15\6
最近更新