[英]Why is my code returning two results instead of one
我正在为密码 controller 编写一个简单的代码,如果字符串包含少于 8 个字符,则返回 false,如果字符串包含 8 个或更多字符,则返回 false。 但我得到两个响应,一个是真或假,另一个结果是 <function password at 0x00000272BA8B7F70>。
这是我写的代码:
def password(str):
if len(str) >= 8:
print("true")
else:
print("false")
return password
print(password("gtbd"))
第一个 output ( true
或false
)是因为您的 function 在您通过print("true")
或print("false")
调用它时正在执行此操作。
第二个 output 是因为您的 function 返回自身:
return password
...并在调用它时打印该返回值(函数):
print(password("gtbd"))
如果您希望该print
打印true
或false
,请不要在 function 中打印它,并从 function 中返回它:
def password(str):
return len(str) >= 8
或者,如果您希望 function 返回字符串而不是 boolean:
def password(s):
return str(len(s) >= 8)
(请注意,我必须更改参数的名称。)
如果你真的想要小写:
def password(s):
return str(len(s) >= 8).lower()
或者,当然,手动进行:
def password(s):
if len(s) >= 8:
return "true"
return "false"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.