Python 使用lambda函数登录输入
我不知道如何使用lambda函数。我编写了这段简单的代码,但现在我正在尝试使用lambda函数重写代码,同时保留常规指令Python 使用lambda函数登录输入,python,lambda,Python,Lambda,我不知道如何使用lambda函数。我编写了这段简单的代码,但现在我正在尝试使用lambda函数重写代码,同时保留常规指令 username_password = {"Maria":"hola","Victoria":"bye"} def main(): for x in range(5): login_username = input("Please enter your user
username_password = {"Maria":"hola","Victoria":"bye"}
def main():
for x in range(5):
login_username = input("Please enter your username.\n")
login_password = input("Please enter your password.\n")
if login_username in username_password and login_password == username_password[login_username]:
print("Logged in")
break
else:
print("\ntry again please")
else:
print("incorrect username / password, kicked off of the system")
main()
首先,您的代码不正确。其次,不建议使用lamda来解决此类问题。请阅读:
这个问题很模糊,但我会给你一些想法 这些更改并没有使代码更易于阅读,只是为了给您一个可以使用lambdas的示例。。。这是使用单个语句的任何地方 将lambda与简单的变换方法(如
map
)相结合,可以让您做一些非常有趣(尽管过于复杂)的事情:
在这种情况下,您似乎不想使用lambdas。为什么您觉得有必要在这里使用它们?Lambda函数类似于列表理解的函数版本。您应该只在定义短/可读函数时使用它们。您可以使用lambdas在一行中编写整个函数,值得吗?作为一个笑话,是的;作为练习,不是真的。我个人在您的代码中找不到lambda函数可以提高可读性的地方。我想使用lambda函数,因为这正是我的教授要求我的。@AlanCalderon他们要求在这段代码中使用lambda吗?如果没有,你最好拿出一个不同的例子(例如,在符合特定条件的列表中搜索帐户)
username_password = {"Maria": "hola", "Victoria": "bye"}
user_input = lambda: input("Please enter your username.\n")
pass_input = lambda: input("Please enter your password.\n")
check_login = lambda u, pw: username_password.get(u) == pw
ask_input = lambda *_: check_login(user_input(), pass_input())
def main():
for logged_in in map(ask_input, range(5)):
if logged_in:
print("Logged in")
break
else:
print("try again please")
else:
print("incorrect username / password, kicked off of the system")
main()