我最近在Mac OSX上使用Python终端。当我按回车键时,它会处理我输入的代码,而我无法弄清楚如何添加额外的代码行,例如用于基本循环。
答案 0 :(得分:18)
在python shell中,如果你输入允许继续的代码,按一次输入不应该执行代码......
python提示符如下所示:
>>>
如果您启动for循环或键入python期望更多内容的内容,则提示应更改为elipse。例如:
>>> def hello():
or
>>> for x in range(10):
你的提示应该变成这个
...
意味着它正在等待您输入更多内容以完成代码。
以下是几个完整的python示例,它们会在evauluation之前自动等待更多输入:
>>> def hello():
... print "hello"
...
>>> hello()
hello
>>>
>>> for x in range(10):
... if x % 2:
... print "%s is odd" % (x,)
... else:
... print "%s is even" % (x,)
...
0 is even
1 is odd
2 is even
3 is odd
4 is even
5 is odd
6 is even
7 is odd
8 is even
9 is odd
>>>
如果你想强迫python不评估你输入的代码,你可以在每一行的末尾附加一个“\”...例如:
>>> def hello():\
... print "hello"\
... \
... \
... \
...
...
>>> hello()
hello
>>> hello()\
... \
... \
...
hello
>>>
希望有所帮助。
答案 1 :(得分:3)
我总是一次又一次得到这三个点而无法关闭它。它实际上是换行符并使用2 ENTER。我做了它我尝试给两次ENTER键,它工作。
>>> primenumlist = [2,3,5,7,11,13,17,19,23,29]
>>> for i in primenumlist:
... print (i)
...
2
3
5
7
11
13
17
19
23
29
>>>
答案 2 :(得分:0)
代表下面一段代码的语句以Python中的冒号(:)结尾。
通过这种方式,您可以在单个块下添加额外的语句并立即执行它们。
答案 3 :(得分:0)
这里的答案要简单得多。如果你想在像
之类的循环之后继续下一行而b <1:
按Enter键时会出现
提示...
然后你必须通过制表符的空格“缩进”,然后才能在三个点之后添加更多代码,如
...(标签或空格)打印b
然后当你按回车键时,代码不会被执行但是你会得到另一个...你可以通过制作新的缩进来输入代码
保持缩进相同
就是这样
答案 4 :(得分:0)
如果您要使用循环,则如其他提示所指出的那样,行末的:
会将提示符更改为如下所示:
...
只需添加一下,以防万一您键入了很长的代码并出于审美原因而将其拆分,请按shift
+ enter
会迫使解释器将您带到一个新的位置与...
提示符一致。
在此处输入其余代码,并使用循环或if
语句执行,代码将按预期执行!
以下是利用此行为的SQLAlchemy教程中的代码段:
>>> session.add_all([
... User(name='wendy', fullname='Wendy Williams', password='foobar'),
... User(name='mary', fullname='Mary Contrary', password='xxg527'),
... User(name='fred', fullname='Fred Flinstone', password='blah')])
要重新创建此对象,请在第一行之后使用shift
+ enter
,以便能够在新行中创建第一个User
对象。到达...
后,只需按一下enter
,就会在...
提示符下显示另一行。要退出,只需在该提示下点击enter
即可返回到>
提示。
答案 5 :(得分:-2)
顺便说一句,就像你提出问题一样,你试图在常规的shell提示符下而不是在Python shell中执行你的python命令。
你输入“python”作为第一步吗?例如:
$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>