1.
设计一个圆类
,
包括圆心位置、半径、颜色等属性。编写构造方法
, 计算周长和面积。
from math import *
class Yuan:
def __init__(self,yuanxin,banjing,yanse):
self.yuanxin = yuanxin
self.banjing = banjing
self.yanse = yanse
def zhouchang(self):
c=2*pi*self.banjing
return c
def mianji(self):
s=2*pi*self.banjing**2
return s
a = int(input('请输入圆心的横坐标值:'))
b = int(input('请输入圆心的纵坐标值:'))
c=int(input('请输入半径值:'))
d = input('请输入圆颜色:')
z=Yuan((a,b),c,d)
print('圆心位置、半径、颜色分别为:','(',a,',',b,')',c,d)
print('周长为:',z.zhouchang())
print('面积为:',z.mianji())
import math
class Circle:
def __init__(self, r, l, color):
self.r = r
self.l = l
self.color = color
def c(self):
t = math.pi*2*self.r
s = math.pi*(self.r**2)
return t, s
a = int(input('半径r:'))
b = input('位置l:')
d = input('颜色color:')
m = Circle(a, b, d)
e = list(m.c())
print(str.format('zhouchang=a{}',e[0]))
print(str.format('mianji={}',e[1]))
import math
import turtle#制图
class Circle():
def __init__(self, r, colour):
self.r = r
self.colour = colour
def circlelength(self):
length = math.pi * self.r * 2
return length
def circlearea(self):
area = math.pi * self.r ** 2
return area
def drawcircle(self):
turtle.color(self.colour)
turtle.circle(self.r)
turtle.done
if __name__ == "__main__":
a=int(input('请输入半径值:'))
b=input('请输入颜色:')
circle = Circle(a,b)
length = circle.circlelength()
area = circle.circlearea()
print('圆周长为:{}'.format(length))
print('圆面积为:{}'.format(area))
print('该图形如图:')
circle.drawcircle()
方法三答案:
2.
设计一个描述自由落体运动的类
,
要求能获得任意时刻的速度及位移,
并进行测试。已知重力加速度为
9.8m/s
。
class Ziyouluoti:
def __init__(self,t):
self.t = t
def sudu(self):
v=9.8*self.t
return v
def weiyi(self):
x=0.5*9.8*self.t**2
return x
a=int(input('请输入要获得速度以及位移的时刻:'))
ziyouluoti=Ziyouluoti(a)
print('速度为:',ziyouluoti.sudu())
print('位移为:',ziyouluoti.weiyi())
3.
为二次方程式
ax
2
+bx+c=0
设计一个名为
Equation
的类
,
这个类包括:
代表
3
个系数的成员变量
a
、
b
、
c;
一个参数为
a
、
b
、
c
的构造方法
;
一个名为
getDiscriminant1
的方法返回判别式的值
;
一个名为
getRoot1
和
getRoo2t
的方法返回等式的两个根
, 如果判别式为负,
这些方法返回
0
。
from math import *
class Equation:
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def getDiscriminant1(self):
m=self.b**2-4*a*c
return m
def getRoot1(self):
if self.getDiscriminant1()==0:
x=-self.b/2*self.a
return x
elif self.getDiscriminant1() >0:
x1 = (-self.b + sqrt(self.getDiscriminant1())) / 2 * self.a
x2 = (-self.b - sqrt(self.getDiscriminant1()))/ 2 * self.a
return x1, x2
def getRoo2t(self):
if self.getDiscriminant1() <0:
return 0
a=int(input('请输入方程a值:'))
b=int(input('请输入方程b值:'))
c=int(input('请输入方程c值:'))
equation=Equation(a,b,c)
print('方程的根为',equation.getRoot1(),equation.getRoo2t())
from math import *
class Equation:
def __init__(self,a,b,c):
self.a=a
self.b=b
self.c=c
def getDiscriminant1(self):
m=self.b**2-4*a*c
return m
def getRoot1(self):
if self.getDiscriminant1()==0:
x1=-self.b/2*self.a
return x1
elif self.getDiscriminant1() >0:
x1 = (-self.b + sqrt(self.getDiscriminant1())) / 2 * self.a
return x1
elif self.getDiscriminant1() <0:
return 0
def getRoo2t(self):
if self.getDiscriminant1() == 0:
x1 = -self.b / 2 * self.a
return x1
elif self.getDiscriminant1() > 0:
x2= (-self.b - sqrt(self.getDiscriminant1())) / 2 * self.a
return x2
elif self.getDiscriminant1() < 0:
return 0
a=int(input('请输入方程a值:'))
b=int(input('请输入方程b值:'))
c=int(input('请输入方程c值:'))
equation=Equation(a,b,c)
print('方程的根为',equation.getRoot1(),equation.getRoo2t())
4.
设计一个二维向量类,实现向量的加法、减法及向量与标量的乘法和除法运算,其中要求输入是元组。
class Erweixiangliang:
def __init__(self,x1,y1,x2,y2):
self.x1=x1
self.y1=y1
self.x2=x2
self.y2=y2
def jia(self):
m=self.x1+self.x2
n=self.y1+self.y2
return m,n
def jian(self):
m=self.x1-self.x2
n=self.y1-self.y2
return m,n
def cheng(self):
m=self.x1*self.y2-self.x2*self.y1
return m
def chu(self):
return '无除法计算'
a=float(input('请输入向量横坐标1:'))
b=float(input('请输入向量纵坐标1:'))
c=float(input('请输入向量横坐标2:'))
d=float(input('请输入向量纵坐标2:'))
erweixiangliang=Erweixiangliang(a,b,c,d)
print('实现向量的加法、减法及向量与标量的乘法和除法运算结果为:',erweixiangliang.jia(),erweixiangliang.jian(),erweixiangliang.cheng(),erweixiangliang.chu())
class Erweixiangliang:
def __init__(self, a, b):
self.a = a
self.b = b
def jia(self):
m = self.a[0] + self.b[0]
n = self.a[1] + self.b[1]
return m, n
def jian(self):
m = self.a[0] - self.b[0]
n = self.b[1] - self.b[1]
return m, n
def cheng(self):
m = self.a[0] * self.b[1] - self.a[1] * self.b[0]
return m
def chu(self):
return '无除法计算'
a=eval(input('请输入向量1:'))#Python元组索引递归:“不能通过类型为float的非int类乘法序列”
b=eval(input('请输入向量2:'))#它需要用户输入的字符串,并把它变成单个字符的元组。
erweixiangliang=Erweixiangliang(a,b)
print('实现向量的加法、减法及向量与标量的乘法和除法运算结果为:',erweixiangliang.jia(),erweixiangliang.jian(),erweixiangliang.cheng(),erweixiangliang.chu())