我对我的问题的解释可能会非常糟糕。但是我已经将“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)
如果这个问题真的没有意义,请随意说,我会删除它。感谢。
答案 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]