繁体   English   中英

print 返回地址而不是值

[英]print is returning an address instead of a value

我是 python 的新手,我正在尝试打印此函数,但它只显示函数的地址。

def eligible(age, lingo, language):
    return "Eligible!" if(int(age) in range(25, 46)) and (lingo=='ingles') and (language=='python') else "Not Eligible!"

age=input("What's your age?: ")
language=input("What language do you speak?: ")
planguage=input("What programing language do you use?: ")
eligible(age, language, planguage)

print(eligible)

在 Python 中,任何东西都是对象,这包括函数。 当您打印一个函数时,您会得到该函数的地址。

由于您希望eligible的函数返回字符串,因此需要将结果存储在变量中或将函数调用放入print函数中:

res = eligible(age, language, planguage)
print(res)
print(eligible(age, language, planguage))

删除最后一行并将eligible(age, language, planguage)放入print语句中。

def eligible(age, lingo, language):
    return "Eligible!" if(int(age) in range(25, 46)) and (lingo=='ingles') and (language=='python') else "Not Eligible!"

age=input("What's your age?: ")
language=input("What language do you speak?: ")
planguage=input("What programing language do you use?: ")
print(eligible(age, language, planguage)) # Print Statement here

您可以稍微更改代码的最后一行:

def eligible(age, lingo, language):
    return "Eligible!" if(int(age) in range(25, 46)) and (lingo=='ingles') and (language=='python') else "Not Eligible!"

age=input("What's your age?: ")
language=input("What language do you speak?: ")
planguage=input("What programing language do you use?: ")
print(eligible(age, language, language))

希望这对你有帮助,谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM