Je suis en train de résoudre un problème en utilisant le code suivant:EOF lors de la lecture d'une ligne sur le site concurrentiel, à savoir le code chef
X,Y = map(float, input().split())
if X < Y and not X % 5:
print(Y - X - 0.50)
else:
print(Y)
Ce code me donne la sortie désirée lorsque j'exécution à l'aide IDLE. Cependant, lorsque je tente d'exécuter ce code à l'aide d'un interprète fourni par un site de programmation compétitive, je reçois l'erreur suivante:
Traceback (most recent call last):
File "./prog.py", line 1, in <module>
EOFError: EOF when reading a line
J'ai essayé de lire les réponses d'autres questions similaires, mais aucun d'entre eux ne semblait fonctionner dans mon Cas.
Peut-être que l'interprète ne passe aucune information à stdin, de sorte que votre appel 'input' ne parvient pas à obtenir quoi que ce soit. Etes-vous sûr que vous êtes censé recevoir X et Y en entrée? Peut-être qu'ils sont en fait des arguments de ligne de commande ou quelque chose. Quel site Web de programmation compétitive est-ce, spécifiquement? – Kevin
Sans avoir d'échantillons réels du problème, c'est difficile à dire. Essayez de déboguer ceci en découplant votre processus d'entrée: saisissez une ligne d'entrée, vérifiez son contenu pour la validité, imprimez la ligne, etc. Voir quel type d'entrée bloque votre programme. Cela peut être aussi simple que de reconnaître une ligne nulle à la fin du fichier. – Prune
Quelle est la fonction appelée 'input()'? est-ce censé être le standard python 3.x ['input()'] (https://docs.python.org/3/library/functions.html?highlight=input#input)? peut-être besoin d'extraire cette ligne, et d'abord 'user_input = input(). split()' et obtenir le résultat en premier, puis passer cette entrée utilisateur dans 'map (float, user_input)' – davedwards