我创建了一个班级来解决ab-c类的数学问题。但是,我只希望函数在ab-c在范围(0100)内时运行。当我运行代码时,它只会继续打印“超出范围”。相反,我希望它尝试a*b-c,直到结果落在所需的范围内(即0到100之间)。如有任何建议,我们将不胜感激
#MULTIPLIZIEREN
class Multiplizieren:
def __init__(self,name):
self.name = name
self.a = rdm.randint(5,20)
self.b = rdm.randint(4,50)
self.c = rdm.randint(2,200)
def punktstrich(self):
finished = False
while not finished:
c = self.a*self.b-self.c
if c < 0 or c > 100:
print('OUT OF RANGE')
return
else:
print(self.a, '*', self.b, '-', self.c, '=', self.a*self.b-self.c)
finished = True
return c
当超出范围时,只需调用
self.__init__(self.name)
来重新初始化类,而不是return
,这将为a、b和c提供新的值关于
__init__()
的一个补充说明:它是一个特殊的函数,在创建对象时会自动调用,但您仍然可以像调用常规函数一样调用它相关问题 更多 >
编程相关推荐