我做了这个节目。我现在想做的是,在类Star_cluster
中创建一个新的方法,它将计算并返回星团中所有处于危险中的行星。在这种情况下,处于危险中的行星是一颗恒星寿命较短的行星。当一颗恒星的总质量超过9.5太阳质量时,它的寿命很短。你知道吗
class Planet:
def __init__ (self, a_str1, a_str2, a_float):
self.name = a_str1
self.type = a_str2
self.orbital_period = a_float
class Star:
def __init__ (self, a_float, a_planet_list):
self.total_mass = a_float # in solar masses
self.orbiting_planets = a_planet_list # list of Planet-objects
class Star_cluster:
def __init__ (self):
self.star_list = [] # list of Star-objects
def add(self, Star):
self.star_list.append(Star)
我的问题是,我不知道应该如何组合不同方法中的值来生成一个for循环。你知道吗
例如,我试着做这样的东西:
class Star_cluster:
def planets_in_danger (self):
for i in self.orbiting_planets:
if i.total_mass > 9.5:
k = self.orbiting_planets.count(i)
return k
但我不能让它工作。我想了解我应该如何处理这个问题,因为我知道该怎么做,但不完全确定如何以最好的方式去做。你知道吗
尤其是是否使用self
以及涉及多个方法而只有一个for循环的事实,让我很困惑。有人能给我指出正确的方向吗?你知道吗
环游给定星团中的所有恒星。如果一颗恒星的总质量超过9.5,将属于该恒星的行星数量计入濒危行星数量。你知道吗
或更短:
编辑:返回濒危行星和行星的数量:
调用星团中危险的行星的函数
相关问题 更多 >
编程相关推荐