2017-08-25 3 views
3

J'utilise python 3. Mon but est de recevoir des entrées et de construire un dictionnaire pour représenter un annuaire téléphonique. La première ligne d'entrée est le nombre de personnes sur lesquelles le programme va recevoir les données.Plusieurs entrées et "SyntaxError: EOF inattendu lors de l'analyse"

Mon entrée est ce fichier d8_input.txt:

3 
sam 99912222 
tom 11122222 
harry 12299933 

Mon code pour lire les données ci-dessus est:

#store the number of items on dic 
num = int(input()) 

#create an empty dictionary 
dic_phone_book = {} 

#store the names and telephone in dic 
for j in range(0, num): 
    name_and_telephone = str(input()) 
    print (name_and_telephone) 

Je dois encore diviser la chaîne afin de stocker le nom et le numéro de téléphone dans des variables séparées. Cependant, j'ai un gros problème pour lire le fichier.

Quand je lance python3 d8.py < d8_input.txt, je reçois cette erreur:

Traceback (most recent call last): 
    File "d8.py", line 10, in <module> 
    name = str(input()) 
    File "<string>", line 1 
    sam 99912222 
      ^
SyntaxError: unexpected EOF while parsing 

Si je viens de lancer python3 d8.py et saisir manuellement les données, je reçois toujours la même erreur. Comment puis-je resoudre ceci?

Merci d'avance.

+1

travaille pour moi. Je ne sais pas ce que tu as fait de mal. – MSeifert

+2

C'est une erreur Python 2.x. –

+0

ok, merci, j'ai probablement foiré avec la version 2 et 3. Maintenant, il fonctionne –

Répondre

2

C'était juste un problème avec la version de python. La valeur par défaut de mon terminal est python 2. Je pensais que j'utilisais Python 3 mais je ne l'étais pas. J'ai essayé de supprimer cette question, cependant, comme c'est une prime ouverte, je ne peux pas la supprimer. Donc, je réponds.