Python 为什么我需要返回True或false?

Python 为什么我需要返回True或false?,python,Python,为什么会说登录成功 如果没有返回真/假,登录不成功 def passwords(name,password): data = [("Peter", "thepeter"), ("James", "thejames")] for x in data: if x[0]==name and x[1]==password: print("Login successful") return True else: print("Login not

为什么会说登录成功 如果没有返回真/假,登录不成功

def passwords(name,password):
  data = [("Peter", "thepeter"), ("James", "thejames")]
  for x in data:
    if x[0]==name and x[1]==password:
      print("Login successful")
      return True
    else:
      print("Login not successful")
      return False
name1=input("Name:")
password1=input("Password:")
passwords(name1,password1)
虽然它会打印“登录成功/未成功”,但如果您使用
return
,也可以使用类似的功能:

a=密码(某人,密码)
现在,如果它返回
True
a
将是
True

如果它返回
False
a
将是
False

我不理解你的问题。你可以更精确一点吗?你可以在其他代码中使用
passwords()
的结果,例如
if passwords(name1,password1):dou_other()
--你不能(轻松地)使用打印的消息在其他代码中进行筛选,如果你想看到tre/false并打印最后一行
print(passwords),这只适用于用户(name1,password1))
或将结果分配给一个vrable并打印出来。不确定您的问题是什么,但“登录不成功”部分应该在
for
循环之后,而不是在循环内部。目前它只会检查第一个用户/密码。很抱歉,这是我第一次学习编程语言,我是欧洲人。总之,如果我键入正确的密码,我不明白为什么在没有返回True的情况下它不会说(“登录成功”)。因为我键入了print(“Login successfull”)和else函数是不相关的,因为if函数已经为True?但是如果我在没有返回的情况下这样做,它会显示“Login successful Login not successful”