4.1.2 Python的数据类型 知识点题库

常量 -0.00013579的科学记数法是( )。
A . -1,3579E+0.4 B . 1.3579E-4 C . -13.579E-5 D . -1.3579E-04
在程序中用到某一整型变量的数据范围为-40000至40000,则该变量类型应该说明为(  )
A . Integer B . Byte C . Long D . Boolean
11、在Visual Basic中,表达式12345\100的值是(  )
A . 123 B . 45 C . 12 D . 5
【加试题】有如下程序段:

Dim a(1 to 20) As Integer

For i=2 to 10

For j=2 to 20\i

a(i*j)=a(i*j) +1

Next j

Next i

该程序段运行后,数组a中元素值为0的个数是(  )

A . 3 B . 7 C . 9 D . 11
有一个数组data存放了n个数据,现从中删除了一个元素,其余的元素依次向前递补(假设删除的是第3个元素,则要将第4个元素移到第3个元素处,第5个元素移到第4个元素处,以此类推),然后输出数组内容。程序输入要删除数的位置,点击“删除”按钮后删除指定数,并把剩余的数字依次输出到List2中,程序如图所示。

Dim data(10) As Integer     ‘①

Dim n As Integer     ‘n表示总元素个数

Private Sub Command1_Click()

 Dim t As Integer

 t = Val(Text1.Text)

 For i = t To n-1

   ② 

 Next i

 n = n - 1

 For i = 1 To n

   ③ 

 Next i

End Sub

Private Sub Form_Load()

Dim i As Integer

n = 10

For i = 1 To n

  data(i) = i * 2

  List1.AddItem Str(data(i))

Next i

End Sub

  1. (1) 与①处语句功能一样的是(填字母)(A .Dim data(0 To 10) As Integer/B .Dim data(1 To 10) As Integer)。
  2. (2) 为实现程序功能,请在划线处填入合适的代码。

    ②处的代码为。  

    ③处的代码为。  

有如下VB程序段:

a(I)=68: a(2)=88: a(3)=76: a(4)= 60: a(5)=98: a(6)=100: a(7)= 64: a(8)=85: a(9)=99: a(10)=59

  For i=1 To 9

    b(i)=Abs(a(i+1)-a(i))

    c(b(i)\10)= c(b(i)\10) + 1

  Next i

  For i=0 To 10

    If c(i)> 0 Then Label1.Caption = Label1.Caption + "" + Str(c(i))

Next i

数组c各元素初值为0,执行该程序段,标签Label 1上显示的内容是(  )

A . 1 3 2 2 1 B . 1 3 2 1 2 C . 2 3 2 2 1 D . 2 3 2 1 1
有下列VB程序段:执行该程序段后,数组元素a(1)到a(5)的数据依次为(  )

a(1)=”231”:a(2)=”44”:a(3)=”23”:a(4)=”244”:a(5)=”124”

For i=5 To 4 step-1

  k=i

  For j=i-1 To 1 Step-1

    If a(j) >a(k) Then k=j

  Next j

  If k<>i Then

    t=a(k):a(k)=a(i):a(i)=t

  End If

Next i

A . ”124”,”23”,”231”,”44”, ”244” B . ”124”,”23”,”231”,”244”,”44” C . ”23”,”44”,”231”,”124”,”244” D . ”231”,”124”,”23”,”244”,”44”
由数组a生成数组b的方法描述如下:

1)将数组a中的n个元素依次分割出若干个数据块,每个数据块有m×m个元素,m最大值为8,最小值为2。分割时,按尽可能大的数据块进行分割。

2)对每个分割出的数据块用“方阵转换法“进行转换,每次转换后得到的数据块依次存储到数组b中。

3)数组a分割后的剩余元素(个数小于4),直接依序存储到数组b中。

例如n=140时,可依次分割出3个数据块,元素个数分别为64(8×8)、64(8×8)、9(3×3),剩余元素为3个。

“方阵转换法”过程如下:将数据块中m×m个元素按行序排列成一个数字方阵,从该数字方阵中按列序得到转换后元素的次序。

以3×3数据块为例,转换过程如图所示:

小明依据上述描述设计了如下VB程序。请回答下列问题:

  1. (1) 当n=120时,分割出的第3个数据块元素个数为
  2. (2) 请在划线处填入合适的代码。

    Const n=120

    Dim a(1 To n)As Integer

    Dim b(1 To n)As Integer

    Private Sub Commandl_Click()

      Dim m As Integer,i As Integer

      Dim Start As Integer  '当前未分割数据的第1个元素下标

      Dim Left As Integer  '当前未分割数据的个数

      Dim pa As Integer   '数组a的下标

      Dim pb As Integer  '数组b的下标

    '读取n个转换前的数据,依次存储到 a(1)、a(2)、……、a(n)中,代码略

    m=8

    Start=1

    Left=n

    Do While Left>3

      If Left<m * m Then

        m=  ① 

      Else

        pa=Start

        pb=Start

        For i=1 To m * m

          b(pb)= a(pa)

          pb=pb+1

          If i Mod m=0 Then

               ②  

          Else

            pa=pa+m

          End If

        Next i

           ③    

        Start=Start+m*m

       End If

     Loop

     For i=Start To n

       b(i)=a(i)

     Next i

    '依次输出转换后的数据b(1)、b(2)、……b(n),代码略

    End Sub

有如下VB程序段:

    a(1) = 5: a(2) = 7: a(3) = 12: a(4) = 12

    a(5) = 15: a(6) = 20: a(7) = 25: a(8) = 27

    low = 1: high = 8

    key = Text1.Text

    Do While low <= high

      m = (low + high) \ 2

      If a(m) >= key Then

         high = m - 1

      Else

         low = m + 1

      End If

Loop

执行该程序段后,变量low的值为3,则文本框Text1中输入的值不可能是(  )

A . 10 B . 11 C . 12 D . 13
   字符串与数字的区别在于,字符串两端,输出时显示引号中的内容。
有如下的VB程序段:

Dim a(1 To 6)As integer

a(1)=1

For i=2 To 6

   Randomize

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

If a(i) Mod 2=1 Then

    a(i)=a(i)\2+1

Else

a(i)=a(i)/2

End If

Next i

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

A . 1 2 3 4 3 4 B . 1 1 3 4 4 3 C . 1 3 3 3 3 2 D . 1 4 2 4 4 5
有如下VB自定义函数,该函数返回值的数据类型是(  )

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

    f=x<y

End Function

A . 逻辑型 B . 整数型 C . 单精度实数型 D . 双精度实数型
有个列表n=[‘水果’,‘砂糖橘’,‘苹果’,‘橙子’],请把列表中‘苹果’改为‘橘子’,选出修改正确的语句(   )
A . n[2]= ‘橘子’ B . n[‘橘子’] C . n[3]=‘橘子’ D . list[‘橘子’]
有如下VB程序段:

Ma = 0: Mb = 0

For i = 1 To 10

    If d(i) > Ma Then

        Mb = Ma

        Ma = d(i)

    ElseIf d(i) > Mb Then

        Mb = d(i)

    End If

Next i

数组元素d(1)至d(10)的值依次为:4,2,5,7,10,8,3,9,1,6,执行该程序段后,变量Ma和Mb的值分别为(    )

A . 1 2 B . 2 1 C . 9 10 D . 10 9
已知列表list1=[8,22,34,9,7],则python表达式len(list1)+min(list1)的值为(   )
A . 5 B . 34 C . 7 D . 12
利用身份证号码可以推算出年龄,性别以及相应的生肖。其中18位身份证号码中的7-10位表示出生年份,年龄为当年年份减去出生年份的值。而生肖为出生年份整除12所得余数与下表所对应的值取得。

4

5

6

7

8

9

10

11

0

1

2

3

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

    ID=input("请输入18位身份证号: ")

    sx=[‘鼠’,‘牛’,‘虎’,‘兔’,‘龙’,‘蛇’,‘马’,‘羊’,‘猴’,‘鸡’,‘狗’,‘猪’]

    #计算年龄:

    year=int(ID[6:10])                # 取出身份证中的出生年份

    age=            # 计算该身份证主人当年年龄(取2021)

    #判断性别:

    F_ sex-int( )             # 取出身份证中用于判断性别的第17位数字字符

    If           # 判断性别的的数字奇数为男性,偶数为女性

        sex="男"

    else:

        sex="女"

        #判断生肖:

        F_ sx=()%12

        anl=sx[F_ sx]

    print("年龄是: ",age,"性别是: ",sex,"生肖是: ", an1)

  2. (2) 在上述程序代码中,变量year的数据类型为(             
    A . 整型 B . 实型 C . 字符串型 D . 布尔型
  3. (3) 以下代码与程序加框处代码功能相同的有(             
    A . int[ID(16)] B . int(ID[:-1]) C . int(ID[-2:-3:-1]) D . int(ID[-2:-1]) E . int(ID[16]) F . int(ID[17:18])
下面的程序,若想运行结果是Best Wishes to you!,则划线处代码可能是(      )

s="Happy National Day!"

m=____

if m=="Happy":

    print("Happy to you!")

elif m=="National":

    print("Best Wishes to you!")

else:

    print("It's a fine Day!")

A . s[6:13] B . s[7:14] C . s[-6:-14:-1] D . s[-13:-5:1]
a=[3,7,2,5,4,6,9,1]

m=abs(a[0]-a[1])

for i in range(2,len(a)):

    if abs(a[i]-a[i-1])>m:

        m=abs(a[i]-a[i-1])

则程序执行后,m的值是(     )

A . 4 B . 5 C . 7 D . 8
VB的逻辑类型数据占(   )字节内存。
A . 2 B . 4 C . 8 D . 16
有如下VB程序段:

For i=1 To 9 step 2

  b(a(i) Mod 10) = b(a(i) Mod 10)+1

Next i

s =0

For i=0 To 9 step 3

  s =s+ b(i)

Next i

数组b各元素初始值为0,数组元素a(1)到a(9)的值依次为“29,74,12,38,16,45,21,57,33”,则执行该程序段后,s的值为(     )

A . 5 B . 4 C . 3 D . 2
最近更新