web-dev-qa-db-fra.com

SyntaxError: EOF inattendu lors de l'analyse

Je ne sais pas pourquoi cela ne fonctionne pas s'il vous plaît aidez

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)

Quand je lance cela, il génère cette erreur

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

                                                ^
SyntaxError: unexpected EOF while parsing

J'utilise Eclipse et python 3.3 et je ne sais pas du tout pourquoi cela se produit. Il en résulte parfois des erreurs comme celle-ci.

21
Quar

Il vous manque une parenthèse fermante ) Dans print():

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

et vous ne stockez pas non plus la valeur renvoyée de int(), donc z est toujours une chaîne.

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

ou simplement:

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

C'est peut-être ce que vous voulez faire:

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. fait z = int (z)
  2. Ajoutez la parenthèse fermante manquante à la dernière ligne de code de votre liste.
  3. Et avoir une boucle for qui va parcourir de x en z-1

Voici un lien sur la fonction range (): http://docs.python.org/release/1.5.1p1/tut/range.html

2
Kaydell