Python 为什么我的函数不在if下返回print语句
Python 为什么我的函数不在if下返回print语句,python,return,Python,Return,x是每月繁殖1对的成熟兔子数量,y是一个月后成熟的未成熟兔子数量,z是以月为单位的时间段。 def兔子(x,y,z)此函数返回None。我是个新手 def Rabbits(x,y,z): for m in range(z): if z == 0: return ("total number of mature rabbits are ", x, "and immature rabbits are ", y) else:
x
是每月繁殖1对的成熟兔子数量,y
是一个月后成熟的未成熟兔子数量,z
是以月为单位的时间段。
def兔子(x,y,z)
此函数返回None
。我是个新手
def Rabbits(x,y,z):
for m in range(z):
if z == 0:
return ("total number of mature rabbits are ", x, "and immature rabbits are ", y)
else:
x=x+y
y=x
z = z-1
count = Rabbits(1,1,5)
我想你是想在不需要的时候倒计时 我想你的意思是:
def兔子(x,y,z):
对于范围(z)内的uu):
x=x+y
y=x
返回(“成熟兔子总数为”,x,“未成熟兔子总数为”,y)
计数=兔子(1,1,5)
打印(计数)
因为您的代码中没有任何print()
语句,您只是返回一个str
对象,如果要打印结果,请在计算后编写一个打印,print(count)
您将print()
与return
混淆。return
关键字返回您作为元组列出的值。打印(计数)不起作用,但显示的代码中没有count
。“print(count)也不起作用”是什么意思?无论我理解什么,我都是通过count=rabbts(1,1,5)调用函数,并且我不需要在函数z=z中定义count-1是减少月数,以便在z=0时IF条件将起作用是的,这是问题return
语句仍然不正确,它只返回元组。我想您需要使用f
string或其他formatting@RustamGarayev:你怎么知道这是不对的?我只是假设。PS:我不负责向下投票。这个代码可以工作。你可能会注意到,在你想要的输出之后,屏幕上会有一行额外的内容——没有。这是因为在主代码中返回print(…)`,然后是print(count)。这是因为print总是返回None。
def Rabbits(x,y,z):
for m in range(z+1):
if z == 0:
return print("total number of mature rabbits are ", x, "and immature rabbits are ", y)
else:
y=x
x=x+y
z = z-1
count = Rabbits(1,1,5)
print(count)