如何从另一个定义的值python获取定义的值?

时间:2013-11-15 23:43:30

标签: python

我对我的问题的解释可能会非常糟糕。但是我已经将“a”定义为一个单词,这个单词也被定义为一个定义,我希望能够从“a”打印定义,但努力弄清楚如何。 这是我目前的代码

文本文件“keywords.txt”在单独的行中包含胡萝卜,苹果和橙色。

carrot = 'Green Vegtable.'
Apple = 'Red or Green fruit.'
Orange = 'Orange fruit.'

input("You Ready? Press Enter Then")

print ("Here is your Keyword")
import random
with open('keywords.txt') as f:
         a = random.choice(list(f))
         print (a)

现在我希望定义与关键字

匹配
input("press enter")

print("the definitions are")

print("a =" I want the definition to be placed here)

如果这个问题真的没有意义,请随意说,我会删除它。感谢。

5 个答案:

答案 0 :(得分:1)

为了达到你想要的效果,你需要使用字典。字典允许您使用 键:值。在我下面描述的情况下。 key = 'Orange'value = 'Orange fruit'

有关字典的更多信息,请参阅here

keywords = {'carrot': 'Green Vegetable.',
            'apple': 'Red or Green fruit.',
            'Orange': 'Orange fruit.'}

print ("Here is your Keyword")
import random
with open('keywords.txt') as f:
     a = random.choice(list(f))
     print("a =", keywords[a])

答案 1 :(得分:0)

我想我得到你所说的,答案是你通常不想这样做。改为使用字典:

keywords = dict(carrot = 'Green Vegtable.',
                Apple = 'Red or Green fruit.',
                Orange = 'Orange fruit.')

现在您可以打印值:

a = 'carrot'
print keywords[a]

为了完整起见 - 您实际上并没有 在这里使用字典。您可以从locals(或globals)函数获取它:

carrot = 'foo'
a = 'carrot'
keywords = locals()
print keywords[a]

然而,这不是编程中的好习惯,所以我强烈建议你不要这样做。

答案 2 :(得分:0)

简短回答是全局

a = 'apple'
name = 'a'
print globals()[name]

答案 3 :(得分:0)

将关键字作为键放在字典中,将定义作为值放在同一字典中。然后在字典中查找关键字并显示相关值。

EG:

#!/usr/local/cpython-3.3/bin/python

dict_ = {}
dict_['carrot'] = 'Green Vegtable'
dict_['apple'] = 'Red or Green fruit'
dict_['orange'] = 'Orange fruit'

input("You Ready? Press Enter Then")

print ("Here is your Keyword")
import random
with open('keywords.txt') as file_:
    keywords = [ line.rstrip() for line in file_ ]

random_keyword = random.choice(keywords)
print('{} is {}'.format(random_keyword, dict_[random_keyword]))

答案 4 :(得分:0)

因此,当随机选择的Apple为“Apple”时,您是否希望显示存储在变量a中的定义?

尝试这样做:将所有定义放在字典中(以后想要添加新水果时效果更好),然后查找a作为字典键的说明。

像这样:

definitions = { 'Carrot' : 'Green Vegtable.', 
                'Apple' : 'Red or Green fruit.',
                'Orange' : 'Orange fruit.'
              }

以后用

获取a的定义
definitions[a]