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

2021-08-02 18:07:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我对我的问题的解释可能会很差。但我已经把“a”定义为一个词,这个词也被定义为一个定义,我想能够把“a”的定义打印出来,但却苦于弄清楚如何。 这是我现在的密码

“文本文件”关键字.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)

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

3条回答
网友
1楼 ·

简言之,答案是globals

a = 'apple'
name = 'a'
print globals()[name]
网友
2楼 ·

我想我明白你的意思了,答案是你一般不想这么做。改用字典:

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]

然而,这并不是一个好的编程实践,所以我强烈建议您不要这样做。你知道吗

网友
3楼 ·

为了达到你想要的,你需要使用字典。字典允许你使用 关键点:值。在我下面描述的情况下。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])

相关问题