• 转:Python考核试题及答案


                     Python测试(总分:120)

    • 选择题(每题2分,共20分)

    1.下列哪个语句在Python中是非法的? B

    A、x = y = z = 1 B、x = (y = z + 1)

    C、x, y = y, x D、x += y  x=x+y

    2.关于Python内存管理,下列说法错误的是 B

    A、变量不必事先声明 B、变量无须先创建和赋值而直接使用

    C、变量无须指定类型 D、可以使用del释放资源

    3.print 100 - 25 * 3 % 4 应该输出什么?  (B)
    A.1            B.97
    C.25           D.0

    4、下面哪个不是Python合法的标识符 B

    A、int32 B、40XL C、self D、__name__

    5、下列哪种说法是错误的 A

    A、除字典类型外,所有标准对象均可以用于布尔测试

    B、空字符串的布尔值是False

    C、空列表对象的布尔值是False

    D、值为0的任何数字对象的布尔值是False

    6、下列表达式的值为True的是 C

    A、5+4j > 2-3j B、3>2>2

    1. 1==1and2!=1 D、not(1==1and 0!=1)

    7、Python不支持的数据类型有 A

    A、char B、int C、float D、list

    8、以下不能创建一个字典的语句是 C

    A、dict1 = {} B、dict2 = { 3 : 5 }

    C、dict3 = dict( [2 , 5] ,[ 3 , 4 ] )

    D、dict4 = dict( ( [1,2],[3,4] ) )

    9、下面不能创建一个集合的语句是 C

    A、s1 = set () B、s2 = set (“abcd”)

    C、s3 = (1, 2, 3, 4) D、s4 = frozenset( (3,2,1) )

    10、下列Python语句正确的是 D

    A、min = x if x < y else y B、max = x > y and x : y

    C、if (x > y) print x D、while True : pass

    二.填空(每空一分,共10分)

    设L=[‘a’,’b’,’c’,’d’,’e’,’f’,’g’],则L[3]值是_d___   L[3:5]值是__[d,e]_  L[:5]值是__[a,b,c,d,e]_   L[3:]值是__[’d’,’e’,’f’,’g’]_   L[-5:-2]值是__[’c’,’d’,’e’]_   L[::2]值是__[‘a’,’c’,’e’,’g’]_

    Python中可变数据类型有__list___和___dict__,不可变数据类型有___int___和__str___

    、简答题(每题5分,共45分)

    1 声明变量注意事项有那些?

    答:

    1.以字母、数字、下划线组成,不能以数字开头;

    2.不能用关键字。

    2 简述 对象和 类的关系

    答:

    类:抽象的,只有一个,一类事物的总称;

    对象:实体的,可以有多个,是类的具体实现。

    3 Python里面如何实现tuple和list的转换?

    答:tuple(list)

    list(tuple)

    1. 介绍一下except的用法和作用?

    答:

    与try语句连用,如果try语句正确,则不会执行except语句;

    如果try语句错误,则跳转到except语句,和except语句后的错误类型进行匹配,错误类型一致,则输出相应except语句下的内容。如果都不匹配,则再一次执行try语句,并且报错;

    如果后面有else语句,在try语句正确的情况下执行;

    如果后面有finally语句,一定执行;

    5 Dict特点?

    答:

    1.key不重复,不可变;

    1. 数据无序排放;
    2. 数据无序排放;

    3.可变数据类型。

    6  List  和tuple 区别

    答:

    相同点:都是有序集合

    异同点:1. list是可变数据类型,tuple是不可变数据类型;

    2.定义方式:list[]   tuple()

    3.list 有append(),insert()等方法;tuple没有

       

    7 定义函数的规则是?

    答:

    以def开头,后接函数名和 ():,有参数写在()中,下一行缩进,如果有返回值则写在return后面。

    8 面向对象语言都有封装,继承,多态,分别描述 封装,继承,多态的含义和作用?

    答:

    封装:把类的属性赋予给对象 作用:方便调用

    继承:子类继承父类的属性和方法 作用:减少代码量

    多态:一类事物的多种表现形式,父类的实现指向子类的引用,需要利用继承,方法重写,重载等方法 作用:减少代码量

    9 在python中f = open('d:/a.txt', 'r')读取文件需要注意哪些

     答:

    f是变量。open是打开文件,如果文件不存在,则创建后再打开。‘d:/a.txt’是文件路劲,代表d盘中一个名为‘a.txt’的文件,r是以读的方式打开。

       

    三  编程题(每题5分,共25分)

      1 .实现登录功能(一个需求2分 ,共4分

    需求 1 实现用户输入用户名和密码,当用户名为 admin且 密码为 123 时,显示登陆成功,否则登陆失败!

    答:

    name = input(请输入用户名:)

    pw = input(请输入用户密码:)

    if (name == admin)and  (pw == 123):

    print(登录成功)

    else:

    Print(登录失败)      

     需求2 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

    答:

    for i in range(3):

    name = input(请输入用户名:)

    pw = input(请输入用户密码:)

    f (name == admin)and  (pw == 123):

    print(登录成功)

    break

    else:

    print(登录失败)  

       

    2 写代码,有如下变量,请按照要求实现每个功能0.5分一个,共4分

     name = " aleX is a man"

    1.  移除 name 变量对应的值两边的空格,并输移除的内容

     print(name.strip( ))

    1.  判断 name 变量对应的值a出现次数,并输出结果

    print(name.count(a))

    3. 判断 name 变量对应的值a进行分割,并输出结果

    print(name.split(a))

    4. 将 name 变量对应的值a替换成w,并输出结果

    print(name.replace(a,w))

    5. 将 name 变量对应的值变小写,并输出结果

    print(name.lower())

    6. 请输出 name 变量对应的值的第 2 个字符?

    print(name[1])

    7. 请输出 name 变量对应的值的前 3 个字符?

    print(name[:3])

    8. 请输出 name 变量对应的值的后 2 个字符?

    print(name[-2:])

    1. 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。

    答:

    a = input(请输入一个字符串:)

    b = a.upper()

    f = open(d:/test/b.txt,w+)

    f.write(b)

    4 请用循环的方式输出九九乘法表

    答:

    for i in range(1,10):

    for j in range(1,10):

    if j <= i:

    print(j,'*',i,'=',(i*j))

    5.输入一个六位数,求各位数之和,如果各位数之和为36-45,则此数字为幸运数字。

    答:

    a = int(input(请输入一个六位数:))

    if len(str(a)) == 6:

    ge == a%10

    ten == a%100//10

    hu == a%1000//100

    th == a%10000//1000

    wan == a//10000%10

    tw == a//100000

    if (ge+ten+hu+th+wan+tw) >= 36 and (ge+ten+hu+th+wan+tw)<= 45:

    Print(a,为幸运数字)

    else:

    print(您输入的位数有误,请重新输入。。。)

    6 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。试输入一个数,并求出对应的数字。(8分)

    答:

    num = int(input('请输入一个四位数:'))

    if len(str(num)) == 4:

    ge = num % 10

    ten = num%100//10

    hu = num//100%10

    th = num // 1000

    ge1 = ge + 5

    ge2 = ge1 % 10

    ten1 = ten + 5

    ten2 = ten1 % 10

    hu1 = hu + 5

    hu2 = hu1 % 10

    th1 = th + 5

    th2 = th1 % 10

    print(加密后的数为:,int((str(ge2)+str(ten2)+str(hu2)+str(hu2))))

    else:

    print('您输入的位数有误,请重新输入')

    7.一:定义一个学生类。有下面的类属性:(12分)

    1 姓名

    2 年龄

    3 成绩(语文,数学,英语)[每课成绩的类型为整数]

    类方法:

    1 获取学生的姓名:get_name() 返回类型:str

    2 获取学生的年龄:get_age() 返回类型:int

    3 返回3门科目中最高的分数。get_course() 返回类型:int

    写好类以后,可以定义2个同学测试下:

    zm = Student('zhangming',20,[69,88,100])

    返回结果:

    Zhangming   20    100

    答:

    class Student():

    def __init__(self,name,age,score):

    self.name = name

    self.age = age

    self.score = score

    def get_name(self):

    print(‘学生姓名:’,self.name)

    def get_age(self):

    print(学生年龄:,self.age)

    def get_course(self):

    print(最高的分数:,max(self.score))

    zm = Student(张明,20,[69,88,100])

    zm.get_name()

    zm.get_age()

    zm.get_course()

    本文转自:https://blog.csdn.net/mr_tangshuai/article/details/91550317 作者:mr_tangshuai 注:老猿没有仔细看过题目和答案,不保证原文就是正确的,第一题老猿就认为有B和D两个答案。
  • 相关阅读:
    无线放大器扩展后,无线网络上不了网的问题解决
    可变现净值
    三大PLM厂商
    CF #589 (Div. 2) D. Complete Tripartite 构造
    CF #589 (Div. 2)C. Primes and Multiplication 快速幂+质因数
    BZOJ 4025 二分图 LCT维护最大生成树
    BZOJ3791 作业 动态规划
    luogu 2943 [USACO09MAR]清理Cleaning Up 动态规划
    luogu 4909 [Usaco2006 Mar]Ski Lift 缆车支柱 动态规划
    SP1716 GSS3(线段树+矩阵乘法)
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643734.html
Copyright © 2020-2023  润新知