生成完美的正方形蟒蛇

时间:2013-07-18 10:52:17

标签: python

我正在尝试编写最简单的代码,以便不断打印出Perfect Squares。我的代码到目前为止读了这个

x = 1
y = 1
while True:
    final = x * y
    print final
    x = x + 1
   y = y + 1

当我运行它时,我收到语法错误。红色位在“打印最终”中的“最终”

道歉,如果这是一个非常基本的错误,但我很难过。

感谢您抽出宝贵时间阅读本文

3 个答案:

答案 0 :(得分:5)

我假设你正在使用Python 3. print现在是Python 3中的一个函数。

print(final)代替print final

此外,您的xy值似乎保持相同。为什么不丢弃其中一个而只使用一个?

x = 1
while True:
    final = x * x
    print(final)
    x = x + 1

或者更好的是,使用内置的指数运算符**

x = 1
while True:
    final = x **2
    print(final)
    x += 1

此外,您的代码似乎进入了无限循环。您可能需要break条件。

例如,如果您希望在x到达10时中断,只需在while循环中添加条件,如下所示:

x = 1
while True:
    final = x **2
    print(final)
    x += 1
    if x == 10:
        break

OR while语句中指定条件,如下所示:

x = 1
while x < 10:
    final = x **2
    print(final)
    x += 1

OR 使用for循环。

for i in range(10):
    print(i**2)

答案 1 :(得分:2)

在Python 3中,print is no longer a statement but a function,所以你必须在括号中包含你想要打印的内容:

print(final)

Here's关于该功能的链接。


你也有一个IndentationError,y = y + 1应该有一个空格。

您可以将其简化为y += 1(就整数而言,这是相同的事情)


您还可以为while循环添加条件:

x = 0
while x < 5:
    print x ** 2
    x += 1

打印:

0
1
4
9
16

答案 2 :(得分:1)

如果你还没有,我会推荐使用Python 3。此外,由于x和y始终是相同的值,因此您只需要其中一个。所以不要阅读:

x = 1
y = 1
while True:
    final = x * y
    print final
    x = x + 1
    y = y + 1

你应该写:

x = 1

while True:

    final = x * x

    print(final)

    x = x + 1

希望这有帮助!      杰克。