Python第七章作业-面向对象编程

1. (程序题)

定义一个 Point 点类。它有两个实例成员变量 x 和 y,一个__init__() 方法,再定义一个 show方法,用于打印出 x 和 y 的值。输入两个值,用这两个值对来新创建的一个Point类对象进行初始化,然后并调用 show 方法。

用例1:

输入:

34

234

输出:

(34, 234)

用例2:

输入:

1

3

输出:

(1, 3)

class Point:#定义一个Point类
   def __init__(self, x, y):
       self.x = x#实例成员变量
       self.y = y

   def show(self):#show()用于打印x和y的值
       print('({}, {})'.format(self.x, self.y))

x = int(input())
y = int(input())
p = Point(x, y)
p.show()

2. (程序题)

定义 Student 类,它有一个属性country(默认值设为“中国”),定义类方法 get_country 和 set_country分别用于显示和修改country 的值。先用get_country获取country的值并输出,然后用set_country将country 的值修改为input函数的输入,然后输出。

用例1:

输入:

CHINA

输出:

中国

CHINA

用例2:

输入:

PRC CHINA

输出:

中国

PRC CHINA

class Student:
   country = "中国"

   @classmethod
   def get_country(cls):
       print(cls.country)

   @classmethod
   def set_country(cls, value):
       cls.country = value
       print(cls.country)


Student.get_country()
input_value = input()
Student.set_country(input_value)
'''这段没搞太明白,希望指点一下'''  

 

3. (程序题)

定义一个学校人员类SchoolPerson,其中,属性:姓名name、性别sex、年龄age;方法:设置人员的各个属性的set_info方法;获取各属性值的get_info方法。定义好类以后,再通过输入初始化一个新的类对象,调用get_info,输出各属性的值。

用例1:

输入:

Jack

60

输出:

('Jack', '男', '60')

 

class SchoolPerson:
   def __init__(self):
       self.name = ""
       self.sex = ""
       self.age = ""
   def set_info(self, name, sex, age):
       self.name = name
       self.sex = sex
       self.age = age
   def get_info(self):
       return self.name, self.sex, self.age
# 获取输入并初始化一个新的类对象
person = SchoolPerson()
name = input()
sex = input()
age = input()
person.set_info(name, sex, age)
# 调用 get_info 方法,输出各属性的值
info = person.get_info()
print(info)

 

4. (程序题)

创建类MyMath,计算圆的周长、面积和球的体积,结果保留两位小数。若输入的是非数字,则输出:请输入数字!提示:要引入math包。

用例1:

输入:

5

输出:

圆的周长=31.42
圆的面积=78.54
球的体积=523.60

用例2:

输入:

8

输出:

圆的周长=50.27
圆的面积=201.06
球的体积=2144.6

 

import math
class MyMath:
      @staticmethod
      def cal_circle(radius):#在此方法中进行计算
          if isinstance(radius,(int,float)):
              circumference=round(2*math.pi*radius,2)
              area=round(math.pi*radius**2,2)
              sphere_volume=round(4/3*math.pi*radius**3,2)
              return circumference,area,sphere_volume
          else:
              return"请输入数字!"

radius=input()
result=MyMath.cal_circle(float(radius))
if isinstance(result,str):
   print(result)
else:
   print(f'圆的周长={result[0]}')
   print(f'圆的面积={result[1]}')
   print(f'球的体积={result[2]:.2f}')#如果不用:.2f限制两位小数,当最后一位为0不会显示

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值