有人能解释一下如何修改这个程序,使多个结果被解析到do类吗?
doclass.py
class do:
def __init__(self, a1, b2, c3):
self.a = a1
self.b = b2
self.c = c3
def wahh(self):
print(self.a*10)
print(self.b*40)
print(self.c*23)
def main(self):
self.wahh()
test.py
from doclass import do
blah = [1,2,3,4,5,6,7,8,9,10]
def forloop():
for num in blah:
a1 = 10 * num
b2 = 100 * num
c3 = 1000 * num
return a1, b2, c3
a,b,c = forloop()
stuff = do(a,b,c)
stuff.main()
1条答案
按热度按时间wswtfjt71#
我看到的问题是你的
forloop
函数,它在for
循环中返回:这意味着它将在第一次迭代num = 1
时停止该循环。您可能希望从blah
列表中获取所有计算值。为此,您可以将return
替换为yield
,这将使您的函数成为generator function
。然后,您可以循环此生成器以生成所有预期值。