85 votes

Python EOF inattendu lors de l'analyse

Voici mon code python. Quelqu'un peut-il me montrer ce qui ne va pas ?

while 1:
date=input("Example: March 21 | What is the date? ")
if date=="June 21":
    sd="23.5° North Latitude"
if date=="March 21" | date=="September 21":
    sd="0° Latitude"
if date=="December 21":
    sd="23.5° South Latitude"
if sd:
    print sd

Et voici ce qui se passe :

>>> 
Example: March 21 | What is the date? 
Traceback (most recent call last):
  File "C:\Users\Daniel\Desktop\Solar Declination Calculater.py", line 2, in <module>
    date=input("Example: March 21 | What is the date? ")
  File "<string>", line 0

   ^
SyntaxError: unexpected EOF while parsing
>>> 

7voto

JGFMK Points 405

J'ai eu cette erreur, à cause d'une parenthèse de fermeture manquante sur une ligne.

J'ai commencé par avoir un problème avec une ligne disant : invalid syntax (<string>, line ...)? à la fin de mon script.

J'ai supprimé cette ligne, puis j'ai eu le message EOF.

4voto

PaulMest Points 2381

Bien que la réponse de @simon soit plus utile dans Python 2, raw_input n'est pas présent dans Python 3. Je vous suggère de faire ce qui suit pour vous assurer que votre code fonctionne aussi bien en Python 2 qu'en Python 3 :

Tout d'abord, pip install future :

$ pip install future

Deuxièmement : importer des intrants de future.builtins

# my_file.py    
from future.builtins import input
str_value = input('Type something in: ')

Et pour l'exemple spécifique ci-dessus :

# example.py
from future.builtins import input
my_date = input("Example: March 21 | What is the date? ")

4voto

Guhh Points 296

J'utilise le code suivant pour obtenir la compatibilité Python 2 et 3

if sys.version_info < (3, 0):
    input = raw_input

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X