如何使用原始输入定义变量

3 投票
2 回答
3816 浏览
提问于 2025-04-18 10:30

这是我的代码:

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.'
>>>

创建动态变量是一种不好的做法,而且可能会很危险。因为很容易就会搞不清楚这些变量在哪里。如果你用execeval来创建它们,你可能会执行一些不安全的代码。想了解更多,可以看看为什么应该避免使用exec()和eval()?。而且,访问localsglobals通常也不被推荐,建议使用列表或字典来处理数据。

撰写回答