《python语言程序设计》2018版第8章18题几何circle2D类(下部)
前言、从9.20激动发言到现在一直没有克制住的心情中,回到编程
- 比如删掉我设计的导入第二个园的x,y,radius的函数
- 我做了之前设计的变化.
- 建立了两个可以将x,y拿出来的函数out
- 计算两个坐标之间的距离
- 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
- main代码的内容
把情绪从不停的幻想演讲,感觉中拉回来
又一次开始初始化.
第8章第4程序Rational给了我灵感,我可以设计一个添加second valid的
def __add__(self,second_contains):
来完成我的想法
第一章、精简中部里的代码
- 比如删掉我设计的导入第二个园的x,y,radius的函数
- 我做了之前设计的变化.
- 建立了两个可以将x,y拿出来的函数out
- 计算两个坐标之间的距离
- 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
- main代码的内容
比如删掉我设计的导入第二个园的x,y,radius的函数
def set_have_two(self, x2, y2, radius2):
self.__x2 = x2
self.__y2 = y2
self.__radius2 = radius2
直接将第2个园的坐标长度带入到第一个里面.
但是问题是,如何在初始化没有第2个园的信息中
完成诸如两个点之间距离的计算
对比我似乎有点把握了.参考了书中8.4Rational代码
但是计算我还没有把握.
第二章、将对象带入到另一个类中
- 比如删掉我设计的导入第二个园的x,y,radius的函数
- 我做了之前设计的变化.
- 建立了两个可以将x,y拿出来的函数out
- 计算两个坐标之间的距离
- 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
- main代码的内容
今天检查完毕,接下来要迎接11月的ISO检查
另外10月份要瑜伽演出.我还帮别的老师带到汇演中,希望领导多给这些老师展示的机会.
我做了之前设计的变化.
class Circle2D:
# 初始化
def __init__(self, x, y, radius):
self.__x1 = x
self.__y1 = y
self.__radius = radius
# 针对获得第一个园的面积
def get_area(self):
return pow(self.__radius, 2) * math.pi
# 针对第一个园的周长
def get_perimeter(self):
return 2 * math.pi * self.__radius
def set_radius(self, radius):
self.__radius = radius
def print_radius(self):
# 比对两个点之间的距离
def have_between(self, other_x, other_y):
a_t_valid = other_x - self.__x1
b_t_valid = other_y - self.__y1
return (pow(a_t_valid, 2) + pow(b_t_valid, 2)) * 0.05
# 比对第2点是否在圆的里面
def contains_points(self):
return self.__radius.__lt__(Circle2D.have_between)
# 比对第2个园是否在第1个园里
def contain(self, other_radius):
circle1 = self.__radius
circle2 = other_radius
if circle2 < circle1 and Circle2D.contains_points(self) is True:
print("c1 contains the c2?, True.")
else:
print("c1 contains the c2?, False.")
结果失败的其中一个截图
第三章、我做到了可以将另一个园的信息导入到此园的信息中
- 比如删掉我设计的导入第二个园的x,y,radius的函数
- 我做了之前设计的变化.
- 建立了两个可以将x,y拿出来的函数out
- 计算两个坐标之间的距离
- 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
- main代码的内容
建立了两个可以将x,y拿出来的函数out
def out_x(self):
return self.__x
def out_y(self):
return self.__y
计算两个坐标之间的距离
def have_between(self, other_x, other_y):
a_t_valid = other_x - self.__x
b_t_valid = other_y - self.__y
return (pow(a_t_valid, 2) + pow(b_t_valid, 2)) * 0.05
利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
def contains_points(self,other):
one_date= self.__radius.__lt__(other)
if one_date is True:
print("The 2 Circle is in 1 Circle")
else:
print("The 2 Circle is not in 1 Circle")
main代码的内容
b = Circle2D(10, 10, 50)
a = Circle2D(5, 5, 20)
b.print_condition()
b.get_x(100)
b.get_y(10340)
b.print_condition()
between_date = b.have_between(a.out_x(), a.out_y())
b.contains_points(between_date)
第四章、结束语
- 比如删掉我设计的导入第二个园的x,y,radius的函数
- 我做了之前设计的变化.
- 建立了两个可以将x,y拿出来的函数out
- 计算两个坐标之间的距离
- 利用已知的两个坐标之间的距离来比对第1个园里的半径,看第2个园的坐标是否在第一个园中
- main代码的内容
我没有想到我能这么简单的解决这个问题.
out函数确实带来了我新的算法和想法.
期待下一个作品.但十一结束后,学院将会有大量的演出.我还要帮助更多老师做宣传.加油吧