首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据用户的选择选择词典?

如何根据用户的选择选择词典?
EN

Stack Overflow用户
提问于 2014-05-25 07:40:23
回答 3查看 68关注 0票数 0

我希望使用用户输入来引用字典,以便用户选择要使用的字典。

例如,给定字典

代码语言:javascript
复制
cisco = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'Write memory', 'backup_location_device': 'nvram:/startup-config'};
bnt = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'save', 'backup_location_device': 'getcfg'};
ods = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'None', 'backup_location_device': '/config/juniper.conf.gz'};
f5 = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'tmsh save /sys ucs my.config.ucs', 'backup_location_device': '/var/local/ucs/my.config.ucs'};
hp = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'save', 'backup_location_device': '/config.cfg'};
juniper = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'None', 'backup_location_device': '/config/juniper.conf.gz'};
alteon = {'uname': 'user_name', 'password': 'pass', 'backup_make': 'save', 'backup_location_device': 'getcfg'};

我想做这样的事

代码语言:javascript
复制
vendor = raw_input("Enter the vendor's name: ") 

print ("the username: " + vendor["uname"] +
       "; the password is: " + vendor["password"])

我想使用“思科”,"bnt","ods“等索引,而不使用if语句。

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-05-25 07:45:40

为什么不反过来做呢?

代码语言:javascript
复制
vendors = {'cisco': {'uname': 'user_name'...}
           'bnt': {...}}

然后,这样做:

代码语言:javascript
复制
requested_vendor = raw_input('Enter vendor name: ')
credentials = vendors.get(requested_vendor.lower())
if credentials:
    print('The username is {} the password is {}'.format(credentials['uname'],
                                                         credentials['password']))
else:
    print("Sorry, there is no vendor by the name {}".format(requested_vendor))
票数 2
EN

Stack Overflow用户

发布于 2014-05-25 07:42:53

把它们都放进更大的字典里。

代码语言:javascript
复制
vendors = {
    'cisco': cisco,
    'bnt': bnt,
     ...
}

choice = vendors[vendor]
票数 3
EN

Stack Overflow用户

发布于 2014-05-25 07:47:44

维护一个字典供应商,其键作为供应商名称,值作为供应商dict。价值

代码语言:javascript
复制
>> vendors = {}
>> vendor1 = {'uname': 'xyz', 'pass': 'abc'}
>> vendor2 = {'uname': 'abc', 'pass': 'xyz'}
>> vendors['vendor1'] = vendor1
>> vendors{'vendor2']= vendor2

>> vendor = raw_input().lower()
>> if vendor in vendors.keys():
..     print "The username is " + vendors[vendor]['uname'] + 'and the password is' + vendors[vendor]['pass']
>> else: print "%s not found" %vendor
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23853112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档