SyntaxError:解析时意外的EOF

时间:2013-05-01 22:18:46

标签: python eclipse python-3.x pydev python-3.3

我不知道为什么这不起作用请帮助

import random
x = 0
z = input('?')
int(z)

def main():
    while x < z:
        n1 = random.randrange(1,3)
        n2 = random.randrange(1,3)
        t1 = n1+n2
        print('{0}+{1}={2}'.format(n1,n2,t1)

当我运行它时会输出此错误

File "/Users/macbook/Documents/workspace/gamlir_filar/samlagning.py", line 12

                                                ^
SyntaxError: unexpected EOF while parsing

我正在使用eclipse和python 3.3,我不知道为什么会这样。它有时会输出这样的错误。

2 个答案:

答案 0 :(得分:33)

您在)中错过了右括号print()

print('{0}+{1}={2}'.format(n1,n2,t1))

并且您也没有存储int()的返回值,因此z仍然是一个字符串。

z = input('?')
z = int(z)

或简单地说:

z = int(input('?'))

答案 1 :(得分:2)

也许这就是你的意思:

import random

x = 0
z = input('Please Enter an integer: ')
z = int(z) # you need to capture the result of the expressioin: int(z) and assign it backk to z

def main():
    for i in range(x,z):
        n1 = random.randrange(1,3)
        n2 = random.randrange(1,3)
        t1 = n1+n2
        print('{0}+{1}={2}'.format(n1,n2,t1))

main()
  1. do z = int(z)
  2. 在商家信息的最后一行代码中添加缺少的右括号。
  3. 并且有一个for循环,它将从x迭代到z-1
  4. 这是range()函数的链接: http://docs.python.org/release/1.5.1p1/tut/range.html