【问题标题】:How to use raw input to define a variable如何使用原始输入来定义变量
【发布时间】:2014-06-20 14:54:27
【问题描述】:

这是我的代码:

Adherent = "a person who follows or upholds a leader, cause, etc.; supporter; follower."

word=raw_input("Enter a word: ")

print word

当我运行这段代码并输入 Adherent 时,会生成 Adherent 这个词。我怎样才能弹出 Adherent 的定义?

【问题讨论】:

  • 你需要input函数。
  • @frostnational 不在 Python 2.x 中,这显然是这样的(由于存在 raw_inputprint 语句。
  • 我建议你试试tutorial
  • @sweeneyrod oh, right.
  • @frostnational 是的,您不想调用该函数,因为它会评估您几乎不想做的用户输入。

标签: python variables raw-input


【解决方案1】:

您可以(应该)使用dictionary 将单词映射到定义:

>>> 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 创建它们,你就有执行任意代码的风险。有关更多信息,请参阅Why should exec() and eval() be avoided?。即使访问localsglobals 通常也不赞成使用列表或字典。

【讨论】:

【解决方案2】:

Adherent 是一个变量,您的第一行将值设置为"a person who follows or upholds a leader, cause, etc.; supporter; follower."
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"

只是一个旁注,对象和变量通常应该以小写字母开头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 2017-02-04
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    相关资源
    最近更新 更多