-7

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

#!/usr/bin/python

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

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

3 回答 3

7

您想测试 string 的相等性"exit",因此不要将其转换为int

text = raw_input("Write exit here: ")

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

input==exit与可能让您感到困惑input的功能进行比较。exit如果你尝试input == Exit它甚至不会运行。

于 2013-06-09T15:20:07.667 回答
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

但不要相信我的话....打开解释器并试验你的问题的一小部分,你很快就会让它工作。

于 2013-06-09T15:39:15.403 回答
0

这是使用三元运算符的另一种方式。学习这个和其他降低代码复杂性的 Python 结构和习语很有用。也没有必要为输入分配名称,除非它有助于解释代码。

print "Exiting!" if raw_input("Write exit here: ") == "exit" else "Not exiting!"
于 2013-06-09T15:40:20.563 回答