所以我写了这段代码,它是有效的,但是,我试图找到一种方法,使这段代码返回正确的输出,如下所示。这是我的密码
upto = 5
def original_num(upto:int):
for x in range(1, upto+1):
print (x, (7**x)%97)
def powerLoop(upto: int):
upto = upto
return original_num(upto)
print(powerLoop(upto))
但当我打印输出时,这就是我得到的
1 7
2 49
3 52
4 73
5 26
None
但是如果我在代码中使用print而不是return
upto = 5
def powerLoop(upto:int):
for x in range(1, upto+1):
print(x, (7**x)%97)
powerLoop(upto)
这就是我得到的
1 7
2 49
3 52
4 73
5 26
如何使用return,然后一旦我说print(powerloop(upto)
,输出将在不打印“none”的情况下发生
如果您想写入
print(powerLoop(upto))
而不获取None
,可以使用yield
如下所示:如果您想使用
return
,可以使用list
并返回list
,如下所示:(编辑答案基本注释)您的}
original_num(...)
函数已经打印了所需的输出,返回最终在print(powerLoop(upto))
中打印的{只是:
不会打印返回值,但仍然“收获”函数调用的副作用(其他
print
)你为什么要再打印
上面最后一行,取消打印,因为函数
original_num
已经打印了结果在python中,如果您的函数没有要返回的内容,那么它将不返回任何内容,然后您将不打印任何内容
上面的例子将一无所获
相关问题 更多 >
编程相关推荐