首页 > 解决方案 > 如何将多个字符串存储为一个变量

问题描述

我为每个使用我的代码的假定用户编写了 if 和 else 语句,以确保他们是谁。我想知道是否有更有效的方法来做到这一点。我希望代码看起来像第 2 到 7 行,但目前我必须让它看起来像第 9 - 14 行。有什么办法可以让第 2 到 7 行工作吗?

我已经尝试使用单独的 if 和 else 语句将每个用户分开,该语句检查用户是否已经存在以及他们是否获得了正确分配给该用户的密码。我还尝试使用列表函数将多个不同的用户存储为一个变量,这样如果程序检测到任何这些用户,它就会将它们移动到下一步但是一旦我这样做,程序就会拒绝识别任何元素作为个人的名单。例如,在代码的第 2 行中,没有一个用户被识别。仅当我将其分开时才识别用户 blake if else 阻止。

user_name = input ("Hello, user please enter your username!")
if user_name == ["Jake", "Bake"]:
    Password = input("Please enter your password %s" %user_name)
    if Password == ["hello", "notem"]:
        print ("Welcome back %s" %user_name)
    else:
        print ("You are an imposter! Begone!!")
else:
    if user_name == ("Bake"):
        Password = input("Please enter your password %s" %user_name)
        if Password == ("hell"):
           print ("Welcome back %s" %user_name)
        else:
            print ("You are an imposter! Begone!!")  

在第 2 到第 7 行之外,我希望我可以输入 Jake 甚至 Blake 来获取密码问题。然后,一旦我输入了相应的并且只有相应的密码,那么我应该会受到欢迎(无论我选择使用哪个用户名)。实际上,只要我输入任何用户名,该程序就会退出我,因为该程序似乎不知道如何从用户名提示继续进行。

标签: python

解决方案


if user_name == ["Jake", "Bake"]:

检查是否user_name等于列表["Jake", "Bake"]

如果要测试检查名称是否在列表中,请使用关键字in

if user_name in ["Jake", "Bake"]:

推荐阅读