SyntaxError: неожиданный EOF при разборе
Я понятия не имею, почему это не помогает, пожалуйста, помогите
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, и я понятия не имею, почему это происходит. Он иногда выводит такие ошибки.
Ответы
Ответ 1
Вам не хватает закрывающей круглой скобки )
в print()
:
print('{0}+{1}={2}'.format(n1,n2,t1))
и вы также не сохраняете возвращаемое значение из int()
, поэтому z
по-прежнему является строкой.
z = input('?')
z = int(z)
или просто:
z = int(input('?'))
Ответ 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()
- do z = int (z)
- Добавьте отсутствующую закрывающую скобку в последнюю строку кода в своем листинге.
- И для цикла, который будет перебирать от x до z-1
Здесь ссылка на функцию range():
http://docs.python.org/release/1.5.1p1/tut/range.html