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)