Python系列问题

目录

一、选择题

1. (单选题) Python语句序列"f=lambda x,y:x*y;  f(12,34)"的运行结果是()

2. (单选题) Python语句print(type(lambda:None))的输出结果

3. (单选题) 在Python中,若有则f1(1,a=2)的运行结果是

4. (单选题)Python语句序列的运行结果是()

二、简答题

5. (简答题) 下列Python语句的输出结果是

三. 编程题

6. (编程题)编写一个函数leap(y)判断闰年。

 7. (编程题) 创建一个名为User 的类,其中包含属性first_name 和last_name ,以及用户简介通常会存储的其他几个属性。

8. (编程题) 编写程序,创建类MyMath,计算圆的周长和面积以及球的表面积和体积,并编写测试代码,结果均保留两位小数。


一、选择题

1. (单选题) Python语句序列"f=lambda x,y:x*y;  f(12,34)"的运行结果是()

A、12        B、22        C、526       D、408

Python语句序列"f=lambda x,y:x*y; f(12,34)"的运行结果是408。其中f是一个lambda函数,可以简单理解为一个匿名函数,接收两个参数x和y,返回它们的乘积。这个lambda函数被赋值给变量f,然后调用了f(12,34),得到的运行结果就是12和34的乘积,即408。

2. (单选题) Python语句print(type(lambda:None))的输出结果

A、<class 'function'>        B、<class 'NoneType'>        C、<class 'tuple'>        D、<class 'type'>

Python语句print(type(lambda:None))的输出结果是<class 'function'>。这是因为在这个语句中,lambda后面使用了一个空的参数列表和一个返回值为None的表达式,所以构成了一个简单的lambda函数。而type(lambda:None)则返回这个lambda函数的类型,也就是function。所以输出结果为<class 'function'>。

3. (单选题) 在Python中,若有

def f1(p,**p2):
    print(type(p2))

则f1(1,a=2)的运行结果是()

A、<class 'int'>        B、<class 'type'>        C、<class 'dict'>        D、<class 'list'>

f1(1,a=2)的运行结果是<class 'dict'>。在这个函数定义中,p是一个普通的参数,而p2是一个使用了双星号语法的“关键字可变参数”,它允许我们将任意多个关键字参数传递给函数,并把它们转化为一个字典。由于在调用f1(1,a=2)时传入了一个关键字参数a=2,所以p2会被转化为一个包含这个参数的字典,其输出结果为<class 'dict'>。

4. (单选题)

f1=lambda x:x*2
f2=lambda x:x**2
print(f1(f2(2)))

Python语句序列的运行结果是()

A、2        B、4        C、6        D、8

解释:

  1. 首先,f2(2) 等于 22=422=4。

  2. 然后,将 44 传入 f1 函数中,该函数会将其乘以 22 并返回,所以最终结果为 4×2=84×2=8。

因此,整段代码的输出结果是 8

二、简答题

5. (简答题) 下列Python语句的输出结果是

def judge(param1,**param2):
    print(type(param2))
    print(param2)
judge(1,a=2,b=3,c=4,d=5)

运行上述Python代码,输出结果如下:

<class 'dict'>

{'a': 2, 'b': 3, 'c': 4, 'd': 5}

解释:函数 judge() 接受一个位置参数 param1 和任意数量的关键字参数 param2。在这里,我们调用了函数 judge() 并传入一个位置参数 1 和四个关键字参数 a=2b=3c=4d=5。由于参数 param2 使用了双星号语法,所以传入的关键字参数会被捕获并转换成一个字典对象。因此,第一行输出 <class 'dict'> 表示 param2 是一个字典。第二行输出该字典对象 { 'a': 2, 'b': 3, 'c': 4, 'd': 5 }

三. 编程题

6. (编程题)编写一个函数leap(y)判断闰年。满足闰年的条件为:

(1)能被4整除,但不能被100整除,或者

(2)能被400整除

输入输出示例:

输入 1996

输出 True

def leap(y):
    if y % 4 == 0 and y % 100 != 0:
        return True
    elif y % 400 == 0:
        return True
    else:
        return False
print(leap(1996))

 7. (编程题) 创建一个名为User 的类,其中包含属性first_name 和last_name ,以及用户简介通常会存储的其他几个属性。在类User 中定义一个名为describe_user() 的方法,用于打印用户信息摘要。再定义一个名为greet_user() 的方法,用于向用户发出个性化的问候。创建多个表示不同用户的实例,并对每个实例调用上述两个方法。

class User:
    def __init__(self, first_name, last_name, age, gender, occupation):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.gender = gender
        self.occupation = occupation
        
    def describe_user(self):
        print("User's name: " + self.first_name.title() + " " + self.last_name.title())
        print("Age: " + str(self.age))
        print("Gender: " + self.gender)
        print("Occupation: " + self.occupation.title())
        
    def greet_user(self):
        print("\nHello, " + self.first_name.title() + "! Welcome back.") 

# 创建实例        
user1 = User('John', 'Doe', 27, 'Male', 'Engineer')
user2 = User('Lucy', 'Smith', 33, 'Female', 'Doctor')
user3 = User('Tom', 'Wang', 19, 'Male', 'Student')

# 调用方法
user1.describe_user()
user1.greet_user()

user2.describe_user()
user2.greet_user()

user3.describe_user()
user3.greet_user()

其中,__init__() 方法是类的特殊方法,创建对象时会自动调用该方法进行属性初始化。describe_user() 方法用于打印用户信息摘要,greet_user() 方法用于向用户发出个性化的问候。最后,我们创建了三个表示不同用户的实例,并对每个实例调用上述两个方法。

8. (编程题) 编写程序,创建类MyMath,计算圆的周长和面积以及球的表面积和体积,并编写测试代码,结果均保留两位小数。

运行效果示例:

请输入半径:5

圆的周长 = 31.42

圆的面积 = 78.54 

球的表面积 = 314.16

球的体积 = 523.60

import math

class MyMath:
    def __init__(self, r):
        self.r = r
    
    def get_circle_perimeter(self):
        return round(2*math.pi*self.r, 2)
    
    def get_circle_area(self):
        return round(math.pi*self.r**2, 2)
    
    def get_sphere_surface_area(self):
        return round(4*math.pi*self.r**2, 2)
    
    def get_sphere_volume(self):
        return round(4/3*math.pi*self.r**3, 2)

# 创建实例并调用方法
r = float(input("请输入半径:"))
my_math = MyMath(r)
print("圆的周长 = ", my_math.get_circle_perimeter())
print("圆的面积 = ", my_math.get_circle_area())
print("球的表面积 = ", my_math.get_sphere_surface_area())
print("球的体积 = ", my_math.get_sphere_volume())

首先,我们创建类 MyMath,并在初始化方法 __init__() 中接收一个半径 r。然后,定义了四个方法分别计算圆的周长和面积以及球的表面积和体积,并使用 round() 函数保留两位小数。

最后,我们创建 MyMath 的一个实例 my_math ,并调用相应的方法,将结果输出。注意,此时需要使用 float() 函数将输入的半径转换为浮点数。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值