如何检查raw_input == python中的某些内容?

时间:2013-06-09 15:19:09

标签: python

这就是我写的,你能不能看看我的代码有什么问题。 我只是 Python 的初学者。

#!/usr/bin/python

input=int(raw_input("Write exit here: "))

if input==exit:
    print "Exiting!"
else:
    print "Not exiting!"

3 个答案:

答案 0 :(得分:7)

您想测试字符串"exit"的相等性,因此请勿将其转换为int

text = raw_input("Write exit here: ")

if text == "exit":
    print "Exiting!"
else:
    print "Not exiting!"

input==exitinput与可能让您困惑的函数exit进行比较。 如果您尝试input == Exit,它甚至都无法运行。

答案 1 :(得分:2)

Python是一种脚本语言 - 交互式运行python(只需键入python)或运行调试器(例如idle,eric,komodo(等等))并使用它非常容易。在这里,我尝试了一些组合来查看哪些有效,哪些无效:

>>> raw_input("write exit here: ")
write exit here: exit
'exit'
>>> my_input = raw_input("write exit here: ")
write exit here: exit
>>> my_input
'exit'
>>> my_input = int(raw_input("wite exit here: "))
wite exit here: exit

Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    my_input = int(raw_input("wite exit here: "))
ValueError: invalid literal for int() with base 10: 'exit'

>>> my_input == exit
False
>>> type(exit)
<class 'site.Quitter'>
>>> my_input == "exit"
True

但是不要相信我的话......打开翻译并试验你问题的一小部分,你就可以立即使用它。

答案 2 :(得分:0)

这是使用三元运算符的另一种方法。学习这个以及其他可以降低代码复杂性的Python构造和习惯用法很有用。除非有助于解释代码,否则也没有必要为输入指定名称。

print "Exiting!" if raw_input("Write exit here: ") == "exit" else "Not exiting!"