我是python和任何与此相关的代码的初学者,我在编写一些代码时遇到了一些问题:
loop = 0
hellosentence = "You have selected the hello sentence"
questionsentence = "You have selected the question sentence"
usrinput = raw_input("Which test would you like to bring up? ")
print eval(usrinput)+sentence
end = raw_input("Press any key to quit...")
我试着在运行代码时考虑到这一点。在
有多个名字结尾有句子。在
请求用户要显示哪个“句子”
一旦用户输入了句子,它会评估他们输入的内容,说“你好” 并将其与“语句”组合,生成变量“hellosentence”,从而调出变量的字符串。在
我14岁,正在努力学习如何理解这门语言,所以如果有人知道我能做些什么来纠正这个错误,我将非常感激。在
这应该可以完成任务-除了eval中不安全的部分之外;)
首先,你的
这句话毫无意义。你可以看到它再也不用了。在
^{pr2}$我可以看到您要实现的目标,在变量中打印hellosentence。但是,它不是那样工作的。使用eval()对您没有多大帮助,所以想象一下编写
^{3}$这不会打印出任何变量的值,变量的开头与usrinput的开头和句子的结尾相同。它将打印usrinput的值,然后打印句子的值。因为你没有句子变量,你得到了一个错误,因为句子的值不存在。在
假设用户在提示输入时输入了“hello”。打印行不会打印hellosentence的值,但会打印“hello”,然后因为句子不存在而出现错误。基本上,你不能把它当作纯英语,因为你可以有这样的东西:
这将打印单词“apple”,而不是“pretzel”。如果你不明白这一点,我强烈建议你阅读变量和赋值。在
你必须检查usrinput的值。在
程序最后一行的end变量什么也不做,因为只将值赋给end。试着像我们对usrinput一样检查end的值。在
似乎您对程序的实际执行方式有误解。我建议阅读变量和赋值。在
eval
将获取您给它的字符串并对其求值。在本例中,它获取输入的字符串。根据您定义的变量判断,您需要接受输入并将sentence
附加到它,因此如果输入'hello',则返回hellosentence
的值。在解决这个问题的直接方法是给
eval
正确的输入:这也许能解决你的问题,但这不是一个好办法。
eval
是一个错误的工作工具;错误恢复将是一个问题,如果这是生产代码,你将为那些想把你的程序变成病毒的人打开一个大洞。在合适的工具是一个字典,用它可以使用输入来查找正确的输出。在
^{pr2}$相关问题 更多 >
编程相关推荐