python补充+题目

补充一:函数

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

不可改变类型:如整数、字符串、元祖。比如在 fun(a) 内部修改a的值,只是修改另一个复制的对象,不会影响a本身。

def add(x,y):
    return x+y
print(add(1,2))

# 3
def f(a):
    a = a+1
    return a
x=3;
f(x)
print(x)

# 3  还是3,因为是不可变类型

可变类型:如列表、set集合、字典。比如 fun(a),则是将 a 真正的传过去,修改后fun外部的la也会受到影响。

def f(a):
    a[0] = a[0]+10
    return a
list1 = [1,2,3,4,5]
f(list1)
print(list1)
# [10,2,3,4,5]

加了 (*) 的变量名,会存放所有未命名的变量参数。不定长参数实例如下:

def MyPrint(*x):
    for item in args:
        MyPrint(item)
    print(1,2,3,5)
    
# 1
# 2
# 3
# 5

补充二:lambda表达式

# 定义函数(普通方式)
def func(arg):
    return arg+a
result = func(123)

# lambda表达式
my_add = add x : x + 1
print(my_add(123))

类的定义与使用

  • 创建
# 建立一个Student类,然后里面有姓名,年龄,班级
class Student():
    name = ''
    age = 0
    sex = ''
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex
    def getName(self):
        print(self.name)
    def getAge(self):
        print(self.age)
    def getSex(self):
        print(self.sex)
stu = Student("张三",20,"男")
stu.getName()
stu.getAge()
stu.getSex()

# 张三
# 20 
# 男
  • 继承
# 父类
class Student():
    name = ''
    age = 0
    sex = ''
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex
    def getName(self):
        print(self.name)
    def getAge(self):
        print(self.age)
    def getSex(self):
        print(self.sex)
 
# 子类
class Son(Student):
    def __init__(self,name,age,sex,email):
        self.name = name
        self.age = age
        self.sex = sex
        self.email = email
    def getEmail(self):
        print(self.email)
son = Son("赵四",20,"女","111@qq.com")
son.getName
son.getEmail
# 赵四
# 111@qq.com

文件操作

文件的打开关闭、文件的读写

在这里插入图片描述

# 打开
object = open(文件名,打开方式)
# ------------------------------------------

# 读  read()    readlines()    readline()方法
f.readline()  # 会从文件中读取单独的一行
f.readlines() # 读取所有行
object.read()
object.readline()
object.readlines()
# ------------------------------------------

# 写 
object.wirte()
# 关闭
object.close()

举例:

fp = open("C:\Users\ghc\Desktop\1.txt","r+") # 打开
fp.wirte("hello,world") # 写入
fp.close() # 关闭写入流

fp = open("C:\Users\ghc\Desktop\1.txt","r+") # 打开
print(fp.read())#读取
fp.close() # 关闭读取流

题目

#一、选择题

1.对于列表mylist=[1,2,3,4,5,6,7,8,9],下面操作正确的是==(B)==

A. mylist[1:9:0] B.mylisy[1:9:2] C.mylist(6:-9:-2) D.mylist[10::]

A 错在步长0,C 错在(),D返回空列表

2.以下关于python描述错误的是==(B)==

在这里插入图片描述

3.以下关于全局变量和局部变量的描述,错误的是==(D)==
在这里插入图片描述

4.打开文件不正确的写法为==(C)==
在这里插入图片描述

C缺个r

5.描述错误的是==(D)==

在这里插入图片描述

continue是跳出当前循环体

6.描述错误的是==(A)==

在这里插入图片描述

7.python中的可变和不可变类型参数是:

​ ==可变:==列表 list,字典 dict,集合set

==不可变:==字符串 str,布尔类型 bool,整数 int ,浮点数 float,元组 tuple,日期 date

8.python文件打开模式的描述,错误的是==(D)==
在这里插入图片描述

9.以下变量名中,错误的是==(C)==
在这里插入图片描述

二、填空题

在这里插入图片描述

三、判断

1.表达式[1,2,3]与表达式[3,2,1]相同==(F)==

列表是有序的

2.Python是一种跨平台、开源、免费的高级动态编程语言。(T)

3.Python不允许使用关键字作为变量名,但是允许使用内置函数名作为变量名,不过这会改变函数名的含义,所以不建议这样做。(T)

4.执行语句from math import sin之后,可以直接使用sin( )函数,例如sin(3)。(T)

5.Python变量名不区分大小写,所以student和Student是同一个变量。(F)

6.可变参数*args传入函数时的存储方式为列表。def sum(*args)。(F)

正确的为元祖形式存储

7.已知x= 3,那么执行语句x+=6之后,x的内存地址不变。(F)

8.字典的查询速度不如列表和元组。(F)

字典更快

9.判断以下的代码段是否合法

​ >>>number = 5

​ >>>print(number + “is my lucky num”)(F)

整数不允许和字符串相加

四、程序

(1)打印100-200之间的全部素数

from math import sqrt
def main():
    for i in range(100, 201):
        flag = 1
        k = int(sqrt (i))
        for j in range(2, k + 1):
            if i % j == 0:
                flag = 0
                break
        if flag == 1:
            print(i, end=" ")  # 1个空格,输出的每个数之间的间距

(2)编写程序,用*打印直角三角形

for i in range(1,5):
    for j in range(0,i):
        print("*",end=" ")
    print()

(3)编写猜数字小游戏

​ 要求使用random模块的randint()函数随机生成20以内数字,用户五次猜测机会,提示猜大了,猜小了。

from random import randint
num = randint(1,20)
for i in range(5):
    guess = int(input("请输入1-20的整数:"))
    if guess > num:
        print("猜大了")
    elif guess < num:
        print("猜小了")
    else:
        print("猜对了")
        break

(4)类与继承

​ 1.创建一个Persoon类,在构造函数中初始化姓名name,年龄age,创建有返回值get_name方法获取姓名,get_age获取年龄

class Person():
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def getName(self):
        print(self.name)
    def getAge(self):
        print(self.age)
p = Person("张三",20)
p.getName
p.getAge

​ 2.创建Student类继承Person类的属性和方法,在构造函数中调用基类的构造函数初始化共有的name、age属性,并将Student类独有的成绩属性course(包括语文、数学、英语三门成绩)进行初始化。创建有返回值的get_MaxScore方法用来返回3门科目中的最高分数。使用实例

s1 = Student(‘小明’,18,[93,68,76]) 对Student类的三种方法进行测试,并输出结果。

class Student(Person):
    def __inif__(self,name,age,course):
        self.name=name
        self.age=age
        self.course=course
    def get_MaxScore(self):
        self.course.sort()
        return self.course[2]
stu=Student("张三",20,[93,68,76])
print(stu.get_MaxScore())
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值