如何使用原始输入定义变量
这是我的代码:
Adherent = "a person who follows or upholds a leader, cause, etc.; supporter; follower."
word=raw_input("Enter a word: ")
print word
当我运行这段代码并输入“Adherent”时,程序会输出“Adherent”这个词。请问我该怎么做才能让“Adherent”的定义弹出来呢?
2 个回答
1
Adherent
是一个变量,第一行代码把它的值设定为 "一个跟随或支持领导者、事业等的人;支持者;追随者。"
word
也是一个变量,它的值是用户提供的。
print()
用来输出一个变量存储的值。如果你想让用户选择一个单词来定义,你需要一个单词的字典。
words = {
"Adherent": "a person who follows or upholds a leader, cause, etc.; supporter; follower.",
}
第一个值("Adherent")是键,它和第二个字符串相关联。
字典的工作方式和列表类似,不过在列表中,值是通过索引来访问的;而在字典中,值是通过键来访问的。
所以:
words = {
"Adherent": "a person who follows or upholds a leader, cause, etc.; supporter; follower.",
}
word = raw_input("Word: ")
print words[word] #this is equivalent to words["Adherent"] if the user inputs "Adherent"
顺便提一下,通常对象和变量的名字应该以小写字母开头。
9
你可以(应该)使用一个字典,把单词和它们的定义对应起来:
>>> word_dct = {"Adherent" : "a person who follows or upholds a leader, cause, etc.; supporter; follower."}
>>> word=raw_input("Enter a word: ")
Enter a word: Adherent
>>> word_dct[word]
'a person who follows or upholds a leader, cause, etc.; supporter; follower.'
>>>
创建动态变量是一种不好的做法,而且可能会很危险。因为很容易就会搞不清楚这些变量在哪里。如果你用exec
或eval
来创建它们,你可能会执行一些不安全的代码。想了解更多,可以看看为什么应该避免使用exec()和eval()?。而且,访问locals
或globals
通常也不被推荐,建议使用列表或字典来处理数据。