python 3 测试无线网速编程_Python编程测试0621期末考试

一 单项选择题

  1. calendar模块的作用

    A.     处理日期和时间

    B.     处理日期

    C.     处理随机数

    D.    处理时间

  2. for i in range(10)的循环i的取值范围是

    A.     0-9

    B.     1-10

    C.     0-10

    D.    1-9

  3. 以下关于self的说法正确的是

    A.     self是用于定义类属性的

    B.     不需要对self进行赋值

    C.     self作为参数的位置是不确定的

    D.    self是可有可无的

  4. 哪种函式参数定义非法? (   )

    A def myfunc(*args, a):B def myfunc(arg1=1):C def myfunc(*args):D def myfunc(a=1, **args):

    A.     B

    B.     C

    C.     D

    D.    A

  5. 以下Python的标识符中,合法的是

    A.     it#3

    B.     321abc

    C.     break

    D.    a_111

  6. 以下关于私有化方法的说法错误是

    A.     私有化之后外部就不能直接访问

    B.     私有化后的方法仍可以进行迭代

    C.     私有方法用双下划线开头来表示

    D.    私有化对应的是类的继承性

  7. print('a'.rjust(10,"*")

    A.     ********* a

    B.     aaaaaaaaaa

    C.     (前面有9个空格)a*

    D.    a*********

  8. 使用(        )关键字定义匿名函数

    A.     main

    B.     def

    C.     function

    D.    lambda

  9. c.create_rectangle(0,0,50,50)的作用是

    A.     画一条弧线

    B.     画一个矩形

    C.     生成一个文本框

    D.    画一条直线

  10. 在植物大战僵尸游戏中下列不属于类的是

    A.     背景

    B.     分数

    C.     画面右上角的那只僵尸

    D.    向日葵

  11. random.randrange(1,100)的作用是

    A.     生成一个1-100中的随机小数

    B.     生成一个1-99中的随机整数

    C.     生成一个1-99中的随机小数

    D.    生成一个1-100中的随机整数

  12. Python语言属于

    A.     以上都不是

    B.     高级语言

    C.     汇编语言

    D.    机器语言

  13. Python表达式12/4-2+5*8/4%5/2的值为

    A.     1.0

    B.     0.8

    C.     0.5

    D.    2.0

  14. 在如下代码中,number 是一个()

class Stu:    number=0    ...
  1. 私有属性

  2. 类方法

  3. 类属性

  4. 实例属性

    15.   下列选项中,不属于 Python特点的是

    A.运行效率高

    B.可移植性

    C.面向对象

    D.免费和开源

    16.   已知x=5;y=1,复合赋值语句x*=y+5执行后,x变量中的值是

    A.30

    B.25

    C.6

    D.10

    17.   可以利用python的可选参数,可变参数,以及不需要事先声明参数数据类型等特征实现

    A.封装

    B.多态

    C.继承

    D.唯一

    18.   在植物大战僵尸游戏中,属于向日葵类的方法的是

    A.发射阳光

    B.颜色

    C.位置

    D.1号向日葵

    19.   执行下列Python语句将产生的结果是

i=1if(i) :print(True)else:print(False)
  1. 编译错误

  2. 输出1

  3. 输出True

  4. 输出False

    20.   下列运算符中优先级最低的是(        )

    A.<=

    B.*

    C.=

    D.and

    21.   数学关系式2

    A.x>20x<=10

    B.2

    C.2

    D.2

    22.   print("数量{1},单价{0}".format(26.4,34.5))

    A.数量34,单价26

    B.数量26.4,单价34.5

    C.数量34.5,单价26,4

    D.数量26,单价34

    23.   下面的Python循环体的执行次数与其他不同的是:

    A.

i=0while(i<=10) :   print(i)   i=i+1

B.

i=10while(i>0): print(i) i=i-1

C.

for i in range(10): print(i)

D.

for i in range(10, 0, -1): print(i)

22.下列Python语句中,非法的是

  1. x=(y=1)

  2. x=1;y=1

  3. x,y=y,x

  4. x,y=(3,5)

23.在飞机大战游戏中,飞机位置的坐标是一种

  1. 属性

  2. 方法

  3. 实例对象

二 问答题

 基础编程题 (共7小题选4,每题4分共16分)

要求:在以下题目中选择四个题目,编写为四个函数,并在主程序中依次调用这四个函数(分支的需调用多次确保每个分支有输出结果)。本大题可假设所有输入合法,即不需要对输入进行判断。将四个函数及调用测试保存在一个.py文件中,在每个函数前编写注释写明实现的功能。

1. 输入三个数,输出最大值与最小值

2. 输入三个数,将其由大到小排序输出

3. 输入N,返回斐波那契数列(1 1 2 3 5...)前N项。

4. 输入一个数,输出对应函数值

F(x)=10 (x>0);  

F(x)=0 (x=0);

F(x)=-10 (x<0)

5. 输入一个正整数n,利用while语句,计算[1,n]内所有奇数的和

6. 输入一个正整数,返回大于它的第一个可以被27整除的数字

7. 输入一个年份,返回其是不是闰年

def a(): #这是第一小题 输入三个数,输出最大值与最小值    a1=int(input(""))    a2=int(input(""))    a3=int(input(""))    b=[a1,a2,a3]    print("最大值是",max(b))    print("最小值是",min(b))def b():#这是第二小题 输入三个数,将其由大到小排序输出    bb=[]    for i in range(3):        x=int(input("请先输入3个数字:"))        bb.append(x)    bb.sort()    print(bb)    def c(): #这是第三小题 输入N,返回斐波那契数列(1 1 2 3 5...)前N项。    c1=int(input(""))    if c1 < 3:        return ('输入错误')    else:        c2 = [1, 1]        for i in range(2, c1):            c2.append(b2[i - 1] + c2[i - 2])        print(b2)        def d():#这是第四小题 输入一个数,输出对应函数值    d1=int(input(""))    if d1>0:        print("10")     elif d1=0:        print("0")    eles:        print("-10")        def e():#这是第五小题 输入一个正整数n,利用while语句,计算[1,n]内所有奇数的和    e1=int(input(""))    a=1    s=0    while a < e1:        s+=a        a=a+2    print(s)def f(): #这是第六小题 输入一个正整数,返回大于它的第一个可以被27整除的数字    f1=int(input(""))    for i in range(f1,100000):        if i%27==0:            break    print(i)    def g(): #这是第七小题 输入一个年份,返回其是不是闰年    g1= eval(input('请您输入一个年份:'))    if g1%400==0:        print('{}是闰年'.format(d1))    elif g1%4==0 and g1%100 != 0:        print('{}是闰年'.format(d1))    else:        print("{}不是闰年".format(d1))        def main():    a()    b()    c()    d()    e()    f()    g()main()

 二. 拓展编程题 (每小题6分共18分)

要求:三个题目每个单独保存为一个.py文件,编写的程序必须可直接运行,并包含测试代码。本大题中的题目需要对输入进行合法性判断。

1. 输入三个数,判断是否能组成三角形,如果可以,判断这个三角形是否为(1)等边三角形(2)直角三角形 并计算三角形的面积。

#三角形import math as mdef higerexam2():    a = int(input(""))    b = int(input(""))    c = int(input(""))    d=(a+b+c)/2    if (a == b and a == c and b == c):        print("等边三角形")        a1=m.sqrt(d*(d-a)*(d-b)*(d-c))        print("面积是",a1)    elif (a == b and a + b > c):        print("等腰三角形")        a1 = m.sqrt(d * (d - a) * (d - b) * (d - c))        print("面积是",a1)    elif (c ** 2 == a ** 2 + b ** 2):        print("直角三角形")        a1 = m.sqrt(d * (d - a) * (d - b) * (d - c))        print("面积是",a1)    elif (a + b > c):        print("三角形")        a1 = m.sqrt(d * (d - a) * (d - b) * (d - c))        print("面积是",a1)    else:        print("无法构成三角形")def main():    higerexam2()main()

2. 输出三种乘法表: 全部9*9 共81个算式(9*9矩阵显示),左下方三角形算式和右上角的算式(如下图)。

bdf28b4654cbbd60d53ce79e8188bb65.pngce7e59f0030932c85c94f77684301533.png

b489a491d127610f8bcf7608fd7ab3eb.png

def higerexam3():#打印九九乘法表    #第一种样式    for i in range(1,10):        for j in range(1,10):            print("{0:2}*{1:1}={2:<2}".format(i, j, i * j,), end=' ')        print()    #第二种样式    for i in range(1,10):        s = ""        for j in range(1,i+1):            s += str.format("{0:2}*{1:1}={2:<2}", i, j, i * j)        print(s)    #第三种样式    for i in range(1, 10):        s = ""        for j in range(1,i):            s += " " * 8        for j in range(i,10):            s += str.format("{0:2}*{1:2}={2:<2}", i, j, i * j)        print(s)def main():    higerexam3()main()

3.  实现鸡兔同笼问题,通过函数实现:总头数和总腿数,输出鸡和兔子的只数。调用此函数进行检查。

6f59ee3afbdf0042bc9d45fb527dc22e.png

d7f15bf4fdcb7ede8f80be74567cdbc2.png

#鸡兔同笼def higerexam4():    a1=int(input("请输入总头数(偶数):"))    a2=int(input("请输入总脚数(偶数)"))    r=a2/2 - a1    c=a1-r    if c<0:        print("无解,请重新运行测试!")    elif r<0:        print("无解,请重新运行测试!")    else:        print("鸡有{}只,兔有{}只".format(c,r))def main():    higerexam4()main()

三 综合编程题(每小题8分共16分)

要求:每题单独保存为一个.py文件,编写的程序必须可直接运行,并包含测试代码。

1. 类与对象

·学生类信息如下:

实例属性:学号,姓名,成绩

类属性:学生人数, 学生总成绩

实例方法:(1)输出姓名学号,(2)判断成绩是否及格(>60分)。

类方法:输出学生的平均成绩·    要求:

1)根据以上要求建立学生类,并创建两个实例,成绩分别大于和小于60分。

2)两个实例分别调用各自的两个实例方法,查看输出结果

3)调用类方法获取当前的学生平均成绩

#学生类class User:    def __init__(self,jsyh,jsxm):        self.jsyh=jsyh        self.jsxm=jsxm        #print("教师工号:{0},教师姓名:{1}".format(self.jsyh,self.jsxm))    def takeitboy(self):        print("学号是:{0},姓名是:{1}".format(self.jsyh,self.jsxm))class StuUser(User):    def __init__(self,stunu,stuna,stunum):        User.__init__(self,stunu,stuna)        self.stunum=stunum    def takeitboy(self):        User.takeitboy(self)        a=int(self.stunum)        if a<=60:            print("不及格")        else:            print("及格了")def main():    a=input("请简单的输入学号")    b=input("请简单的输入姓名")    c=input("请简单的输入成绩")    d=input("请简单的输入2学号")    e=input("请简单的输入2姓名")    f=input("请简单的输入2成绩")    stu001=StuUser(a,b,c)    stu002=StuUser(d,e,f)    stu001.takeitboy()    stu002.takeitboy()    print(StuUser.__mro__)main()

2. 图形界面

    编写一个基于tkinter模块的GUI程序。要求在根窗口上显示一个标签和一个按钮。标签显示文字为你自己的姓名,按钮上的显示信息为“查看详细信息”;鼠标左键单击按钮后,在交互窗口(Message)显示你自己的详细信息:“你好,我叫XXX(自己姓名)”。鼠标右键单击按钮,在交互窗口(Message)显示“我的学号是XXXX(自己学号)”

#图形界面import tkinter as tkfrom tkinter import messageboxdef Ass(e):    messagebox.showinfo("Message","你好,我叫李星海")def Boy(e):    messagebox.showinfo("Message","我的学号是1944315")def main():    root=tk.Tk()    root.title("李星海")    btnAsswecan = tk.Button(root)    btnAsswecan["text"] = "查看详细信息"    btnAsswecan.pack()    btnAsswecan.bind("", Ass)    btnAsswecan.bind("", Boy)    root.mainloop()main()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值