Python 为什么';t我的函数返回值,但如果我使用print,它会工作吗?

Python 为什么';t我的函数返回值,但如果我使用print,它会工作吗?,python,Python,我正在学习函数()并编写练习 输入整数后没有返回任何内容 def collatz(number): if number%2==0: return (number//2) if number%2==1: return (3*number+1) userInput=int(input('Enter an integer: ')) collatz(userInput) 但如果我将“return”语句替换为“print”,它将起作用。我见过一个例子,在

我正在学习函数()并编写练习

输入整数后没有返回任何内容

def collatz(number):
    if number%2==0:
        return (number//2)
    if number%2==1:
        return (3*number+1)

userInput=int(input('Enter an integer: '))
collatz(userInput)

但如果我将“return”语句替换为“print”,它将起作用。我见过一个例子,在函数中使用“return”语句返回不同的字符串。“return”只能用于返回字符串吗?如果需要返回计算值,必须使用“打印”吗?提前谢谢你

您的函数正在返回一个值,但没有打印该值,因为您没有要求打印该值

试着这样做:

def foo():
返回5
打印(foo())

您的函数正在返回一个值,但该值没有被打印,因为您没有要求打印它

试着这样做:

def foo():
返回5
打印(foo())

您正在调用函数,但未使用返回值:

collatz(userInput)
您可以将返回结果保存在变量中,然后打印它

value = collatz(userInput)
print (value)
或直接打印:

print (collatz(userInput))
完整代码:

def collatz(number):
    if number%2==0:
        return (number//2)
    if number%2==1:
        return (3*number+1)

userInput=int(input('Enter an integer: '))
print (collatz(userInput))

您正在调用函数,但未使用返回值:

collatz(userInput)
您可以将返回结果保存在变量中,然后打印它

value = collatz(userInput)
print (value)
或直接打印:

print (collatz(userInput))
完整代码:

def collatz(number):
    if number%2==0:
        return (number//2)
    if number%2==1:
        return (3*number+1)

userInput=int(input('Enter an integer: '))
print (collatz(userInput))

print(collatz(userInput))
result=collatz(userInput);打印(结果)
“返回”并不意味着“显示”。“return”将值从函数发送到主代码,以便您可以将其分配给变量。如果要查看此变量的值,则必须使用
print()
来显示它。谢谢!但是“返回”有什么用呢?如果我们在使用return后需要打印,为什么人们不在函数中使用“print”呢@furashey不使用“print”,因为他们仍然可以在函数之外使用它,如
print(collatz(userInput))
或在其他计算中使用返回值,如
result=2+collatz(userInput)
。它使功能更加通用。但若您只使用函数来显示结果,那个么您可以在函数内部使用“打印”——这一切取决于您。若函数返回值,那个么您可以使用创建测试,比如
print(collatz(1)==4)
。通过这种方式,您可以检查函数是否给出正确的结果,而无需手动执行。
print(collatz(userInput))
result=collatz(userInput);打印(结果)
“返回”并不意味着“显示”。“return”将值从函数发送到主代码,以便您可以将其分配给变量。如果要查看此变量的值,则必须使用
print()
来显示它。谢谢!但是“返回”有什么用呢?如果我们在使用return后需要打印,为什么人们不在函数中使用“print”呢@furashey不使用“print”,因为他们仍然可以在函数之外使用它,如
print(collatz(userInput))
或在其他计算中使用返回值,如
result=2+collatz(userInput)
。它使功能更加通用。但若您只使用函数来显示结果,那个么您可以在函数内部使用“打印”——这一切取决于您。若函数返回值,那个么您可以使用创建测试,比如
print(collatz(1)==4)
。通过这种方式,您可以检查函数是否给出正确的结果,而无需手动执行。谢谢~我有一个困惑。如果用户在使用return后需要打印,为什么不直接使用print?“return”的用途是什么?return语句会导致函数退出并将值交还给调用方。函数的要点通常是接收输入并返回某些内容。return语句是在函数准备将值返回给调用方时使用的。谢谢~我有一个困惑。如果用户在使用return后需要打印,为什么不直接使用print?“return”的用途是什么?return语句会导致函数退出并将值交还给调用方。函数的要点通常是接收输入并返回某些内容。当函数准备将值返回给调用方时,使用return语句。