4.1.4 Python的函数 知识点题库

下面是求三角形面积的VB程序,但有3处错误,请你找出来并修改。

Private Sub Command1_Click()

    Dim As Single, b As Single, c As Single, p As Single, s As Single

    a≡Val(Text1. Text)

    b=Val(Text2. Text)

    c=Val(Text3. Text)

    p=(a+b+c)/2

    If a<=p Or b>=p Or c>=p Then

        Label1. Caption="不能构成三角形"

    Else

        s=Sqr(p*(p-a)*(p-b)*(p-c))*p

        Label1. Caption="面积为"& s

    End If

End Sub

下列VB表达式中,值最大的是(   )
A . Val(Mid("3.1415926", 6, 2)) B . Int((Rnd - Rnd + 1) / 2) * 100 C . 6790 Mod 1000 \ 10 D . Int(Rnd * 80) + 10
以下代码,可以输出A,B,C,的选项是(      )
A . for i in range(3):

    print(ord(65+i),end=",")

B . for i in [1,2,3]:

    print(chr(65+i),end=",")

C . i = 0

while i < 3:

    print(chr(i+65), end= “,”)

    i += 1

    continue

D . i = 0

while i < 3:

    print(ord(i+65),end= “,”)

    i += 1

下面代码的输出结果是(   )。

def exchange(a,b):

    a,b=b,a

    return(a,b)

    x=10

    y=20

    x,y=exchange(x,y)

print(x,y)

A . 20 10 B . 20 10 C . 10 10 D . 20 20
为了便于数据的表示也处理,python提供了整数、浮点数和字符串等常见的数据类型。它们可以把数据从一种类型转换为另外一种类型。下面可以把字符串或整数转换成浮点数R的选项是(     )。
A . input() B . int() C . str() D . float()
下列VB表达式中,值最大的是(    )
A . Va1(Mid(“3.1415926”,6, 2)) B . Int((Rnd-Rnd+1)/2) *100 C . 6790 Mod 1000 \ 10 D . Int(Rnd * 80) + 10
下列VB函数返回值为String类型的是(   )
A . Asc(X) B . Int(X) C . Val(X) D . Mid(X,n,k)
用Visual Basic随机函数产生10~99的幸运号码,下列符合要求的表达式是(   )
A . Int(Rnd() * 9) + 90 B . Int(Rnd() * 90) + 10 C . Int(Rnd() * 89) + 10 D . Int(Rnd() * 99) + 1
有如下Python程序段:

def fun():

    x=6

    return x

x=3

print(fun(),x)

则程序执行后输出(    )

A . 6 3 B . 3 3 C . 6 6 D . 程序出错,抛出异常
下列代码的执行结果是(   )

list1=[1,2,3,4]

del list1[1:3]

print(list1)

A . [1,2] B . [2,3] C . [1] D . [1,4]
下列代码运行结果是(    )

list=[1,2,3,4,5,6,7,8,9,0]

list.reverse( )

print(list)

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

s = "ABCDEF"

For i = 1 To Len(s)

    a = Int(Rnd * 3 + 1)

    b = Mid(s, a Mod 6 + 1, 1)

    ch = ch + Chr(Asc(b) + 32)

Next i

执行该程序后,变量ch的值可能是(    )

A . Dccebd B . Bdbfbd C . Ddcefb D . Bdddbc
在VB中,Len(“”)的值是;执行语句s=Len(Mid("VisualBasic",1,6))后,s的值是
有如下VB程序段:

i=1: n=0: Max=0: Sum=0: c=0

Do While i<=5

    n=Int(Rnd*5+1)

    If n> Max Then Max= n: Sum= Sum+Max: c=c+1

    i=i+ 1

Loop

执行该程序段后,以下变量的值可能为(     )

A . i=5 B . max=6 C . sum= 12 D . c=0
编写VB程序,实现如下功能:在文本框Text1中输入二进制数,单击“转换”命令按钮Command1,在文本框Text2中输出对应的十六进制数。程序运行界面如图所示,请回答下列问题:

  1. (1) 如果输入的二进制数为“1101010”,则得到的结果为
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    '函数bw功能:若二进制位数不足,通过在前面添"0"使得位数为4的倍数

    Private Function bw (x As Integer, y As String) As String

        Dim r As Integer, i As Integer

        r=x Mod 4

        If r<>0 Then

            For i=1 To 4-r

                y="0"+y

            Next i

            x= Len(y)

        End If

        bw=

    End Function

    Private Sub Command1_Click()

        Dim m As String, n As Integer, i As Integer, a As Integer

        Dim s As Integer, s1 As String, j As Integer

        m= Text1. Text

        n=Len(m)

        Text2. Text= ""

        m=     '调整m的位数为4的倍数

        For i=1 To n-3 Step 4

            s=0

            For j=I To i+ 3

                a= Val(Mid(m, j, 1))

                s=

            Next j

            If s>= 10 Then

                s1=Chr(Asc("A")+s-10)

            Else

                s1= CStr(s)     '函数CStr类似于Str,但无前导空格

            End If

            Text2. Text= Text2. Text+s1

        Next i

    End Sub

编写“加法练习题生成器”程序,实现如下功能:在文本框Text1中输入题数n,单击“生成”按钮Command1,在列表框List1中显示n个两数之和小于100的加法练习题。程序运行界面如图1所示。

  1. (1) 在设计程序界面时,应使用图2所示“控件工具箱”中的(填写相应编号)添加“生成”按钮。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

        Dim n As Integer,i As Integer,a As Integer,b As Integer

        Randomize

        n=Val(Text1.Text)

        i=

        Do While i<=n

            a=Int(Rnd*100)

            b=Int(Rnd*100)

            IfThen

                List1.AddItem“(“+Str(i)+”)“+Str(a)+”+“+Str(b)+”=”

                i=i+1

            End If

        Loop

    End Sub

  3. (3) 运行该程序,在文本框中输入5,单击“生成”按钮后,对语句“a=Int(Rnd*100)”执行次数的描述,最合理的是(单选,填字母:A .执行次数等于5 / B .执行次数大于等于5 / C .执行次数小于等于5)。
某单板滑雪大跳台比赛有8名选手晋级决赛,决赛选手按出场顺序进行三轮表演,选手每次表演后取其已完成表演的最佳成绩为其得分。6名裁判以100分为满分对运动员的空中动作、飞行距离、着陆等进行打分,去掉一个最高分,去掉一个最低分,选手每次表演分数由剩下4名裁判的平均分决定。现用python编写程序,现场根据评委打分,快速呈现出比赛选手的得分。
  1. (1) 3号选手第一轮6位裁判打分分别为78、80、86、72、88、80,第二轮裁判打分分别为77、76、78、69、82、79,第三轮裁判打分分别为80、80、81、85、77、89,则3号选手的第二轮表演后得分为
  2. (2) 请在划线处填入合适代码。

    maxn=8         #晋级决赛的人数

    dic={1:"张无忌",2:"赵敏",3:"周芷若",4:"张三丰",5:"宋青书",6:"金毛狮王",7:"杨逍",8:"小昭"}     #字典 dic 存储决赛选手的出场顺序及姓名

    score = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0],[0, 0, 0]]       #列表score依次存储每位出场选手的3轮表演得分

    #例如score[1][1]存储2号选手第二轮表演得分

    i = 0

    while i < maxn * 3:

    r = i // maxn

    order = i % maxn

    cj = input("请输入各评委的评分: ")       #每位评委的评分之间用空格分隔

    list_cj = cj.split()

    numlist = list(map(int, list_cj))        #将列表各元素转换成整型并存储在列表

    numlist 中 tmp = sum(numlist) - max(numlist )-

    tmp_score = tmp / (len(list_cj) - 2)

     = tmp_score

    print(str(order + 1) + "号选手" + dic[order + 1] + "得分: " +  )

    i += 1

用python编辑器打开“y:\109”下的文件“凯撒密码.py”进行以下操作并保存结果。凯撒密码是一种移位密码,明文中的所有字母都在字母表上向后按照一个固定数目(密钥)进行偏移后被替换为密文

①请填空,完善该程序实现功能:输入一串字符串(message)和一个数字(key)。对这串字符进行加密(向后移位Key位,只对26个英文字母加密)

注:程序修改时,请把下划线及序号删除,不能删除注释语句。

import math

import random

import os

#定义加密函数,对字母进行加密,即向后移动key位,其他字符不加密。

def cipher(befmessage, key):

    aftmessage = ''

    for char in befmessage:

        if char.isupper():    #对大写字母进行加密

            code = ord('A')+(ord(char)-ord('A')+key) % 26

            aftmessage = aftmessage+chr(code)

        elif char.islower():  #对小写字母进行加密

            code = +(ord(char) - ord('a') + key) % 26

            aftmessage = +chr(code)

        else:

            aftmessage = aftmessage+char   #字母以外的其他字符不进行加密

return aftmessage

#主程序

message = input('请输入明文:')

key = (input('请输入密钥(整数):'))  # 输入数字密钥

secret = cipher(message, )

print('加密后的密文是:',)

# 结束

②编写完成后,原名保存并关闭应用软件。

某加密程序的代码如下:

s1=input("请输⼊明⽂:")

q="1357902468";

s2="" for ch in s1:

if "0"<=ch<="9":

  s2+=q[int(ch)]

elif "a"<=ch<="z":

  s2+=chr((ord(ch)-ord("a")+2)%26+ord("a"))

else:

  print(s2)

s2+=ch

运⾏该程序,输⼊s1的值为“Mike521@qq.com”,则输出结果为(   )

A .  Mgic053@oo.amk B .  Kgic931@oo.amk C .  Mkmg053@ss.eqo D .  Okmg931@ss.eqo
在Python中将一个数(任何其他类型)转换为字型串类型的函数是(   )
A . float( )  B . chr( )  C . int( ) D . str( ) 
最近更新