作业Python

1.定义一个圆类(Circle),求圆的面积和周长
import math
class Circle():
    def __init__(self,r):
        self.r=r
    def Cir(self):
        print("圆的周长为{:.3f}".format(2*math.pi*self.r))
    def Area(self):
        print("圆的面积为{:.3f}".format(math.pi*self.r**2))
R=float(input("请输入你要求的圆的半径:"))
C=Circle(R)
C.Cir()
C.Area()

2.定义一个三角形类(Strange),属性是三边的长度,求三角形的面积和周长
"""
海伦公式计算面积
p = (a+b+c)/2
s = math.sqrt(p*(p-a)*(p-b)*(p-c))
"""
import math
class Strange():
    def __init__(self,a,b,c):
        self.a=a
        self.b=b
        self.c=c
    def get_Cir(self):
        print("三角形的周长为{:.3f}".format(self.a+self.b+self.c))
    def get_area(self):
        if self.a+self.b>self.c and self.a+self.c>self.b and self.b+self.c>self.a and 
           self.a-self.b<self.c and self.a-self.c<self.b and self.b-self.c<self.a:
            p=(self.a+self.b+self.c)/2
            s=math.sqrt(p*(p-self.a)*(p-self.b)*(p-self.c))
            print("三角形的面积为{:.3f}".format(s))
        else:
            print("无法构成三角形,请重新输入.....")
A = float(input("请输入第一条边: "))
B = float(input("请输入第二条件: "))
C = float(input("请输入第三条边: "))
strange=Strange(A,B,C)
strange.get_Cir()
strange.get_area()

3.创建一个学员类,并设计三个字段用于表示学生的成绩(语文、数学、英语):然后定义一个列表表示一个班的学生,依次输入每个学生的信息和成绩,输入的同时将学员的每科成绩划分等级(100-90:A 89-80:B 79-70:C 69-60:D 60以下:E)最后输出所有学员的信息
参考案例:(参考第二个成绩打印的方法也可,f是格式化输出)

class Student():
    def __init__(self,name,chinese,math,english):
        self.name=name
        self.chinese=chinese
        self.math=math
        self.english=english
    def get_score(self,score):
        if score>=90:
            return "A"
        elif score>=80:
            return "B"
        elif score>=70:
            return "C"
        elif score>=60:
            return "D"
        else:
            return "E"
students=[]
for i in range(3): #为了方便测试,数据少了点
    name=input("请输入姓名:")
    chinese=int(input("语文:"))
    math=int(input("数学:"))
    english=int(input("英语:"))
    s=Student(name,chinese,math,english)
    students.append(s)
for s in students:
    print("姓名:",s.name)
    print("语文:",s.chinese, "等级:", s.get_score(s.chinese))
    print("数学:", s.math, "等级:", s.get_score(s.math))
    print("英语:", s.english, "等级:", s.get_score(s.english))


4.编一个关于求某门功课总分和平均分的程序,每个学生的信息包括姓名和某门功课的成绩,假设5个学生
class Student:
    def __init__(self,score):
        self.score = score
    def get_perscore(self):
        return self.score
    def get_avescore(self):
        return scores1/len(scores )
scores = []
for i in range(5):
     ss=int(input("请输入第{}个学生成绩:".format(i+1)))
     s = Student(ss)
     scores.append(s)
scores1=0
for s in scores:
    scores1+=s.get_perscore()
print("总分:",scores1 )
print("平均分:", s.get_avescore())

5.设计一个游戏角色类,字段:角色名、血量、魔法、状态方法:释放技能 被伤害
class Gameperson:
    def __init__(self, name, blood, majic, status):
        self.name = name
        self.blood= blood
        self.majic= majic
        self.status = status
    def skill(self):
        if self.majic>=20:
              self.majic-=5
              print("{}释放了技能,剩余魔法点为{}".format(self.name,self.majic))
        else:
           print("{}释放失败".format(self.name))
    def get_damage(self,damage):
        self.blood-=damage
        print("{}受到了{}伤害,剩余{}血量".format(self.name,damage,self.blood))
        if self.blood<=0:
            self.status="死亡"
            print("您当前状态为{},不好意思,七请您重新开始游戏".format(self.status))
person=Gameperson("小红",30,30,"正常")
print(person)
person.skill()
person.get_damage(10)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值