【发布时间】:2012-04-09 17:40:02
【问题描述】:
我在尝试在 python 中打印列表时遇到问题。我想用以下代码打印出列表中的所有项目,特别是最后两行。
def primefind(n):
mylist = []
x = 3
while (x < n/2):
if ((n % x) == 0):
mylist.append(x)
x = x + 2
for item in mylist:
print item
运行此程序时出现语法错误。它在最后一行突出显示“项目”。据我所知,它在语法上是正确的,所以我很困惑!甚至这个网站也显示了与我使用的相同的语法 http://effbot.org/zone/python-list.htm#looping
任何想法我哪里出错了?
【问题讨论】:
-
另外,我不知道这是否是一个错字,但看起来您需要将 x = x + 2 移出 if 块
-
是的,这只是一个错字。不过很好。
-
Python 中的
if和while语句中的条件不需要括号。 -
@Daniel 我的旧 C 习惯显示出来了。我认为它在括号中读起来更清楚。但这可能只是因为我习惯了。
-
@user1322388:Python 有一个名为 PEP 8 的风格指南。大多数人都坚持这个风格指南,它的优点是大多数 Python 代码都使用熟悉的风格,增加了可读性。