【问题标题】:python match variable to dict key and return valuepython将变量匹配到dict键并返回值
【发布时间】:2018-02-08 20:22:57
【问题描述】:

我是一个 python 菜鸟,试图获取一个变量,将其与字典键匹配,然后返回匹配键的值。如果不匹配,则继续循环。目标是创建一个粗略的用户数据库,以便用户输入可以选择对应的同名类实例。

我收到语法错误: 如果名称 == 帐户列表 []: SyntaxError:无效的语法(指向第二个 [])。是否有语法可以使这项工作,或者我在这里偏离基地?提前感谢您的帮助。

class BankAccount():
     balance = 0.0
     account_owner = ""
     def welcome(self):
          print("Welcome, " + self.account_owner.name + "!")

account_list = {
"Matty": mattyAccount
"Hannah": hannahAccount
..etc
}
name = input("Enter Username:\n")
while name != account_list[]:
     print("Not recognized.")
else:
     account_list[name].welcome()

【问题讨论】:

  • 有什么问题?
  • 你希望account_list[] 是什么?

标签: python python-3.x dictionary


【解决方案1】:

在python中使用in关键字。

if name in account_list:
    account_list[name].welcome()
else
    print("Not recognized")

如果你想循环直到用户输入一个有效的名字:

while(True):
    name = input("Enter Username:\n")
    if name in account_list:
        account_list[name].welcome()
        break # Will exit the while loop.
    else
        print("Not recognized... Try again...")

【讨论】:

  • 这是一个巨大的帮助,“@adrien Logut”,但是我怎样才能使那个循环直到它匹配呢?
猜你喜欢
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2011-11-12
  • 2019-03-07
  • 2011-10-12
  • 2018-04-08
相关资源
最近更新 更多