Je suis débutant dans la programmation compétitive et pour commencer. Familier avec C et C++, mais Python est ce que j'apprends.Je suis confronté à des difficultés de saisie en Python Problème est comme: Pour un nombre donné de cas de test, pour le cas de test ech, vous recevrez un numéro N et un autre numéro K, dans la même ligne. Après cette ligne, il y aura N entiers dans une seule ligne. Il suffit de diviser et résumer comme indiqué ci-dessous (entre parenthèses sont juste pour garder la trace)Python entrée de stdin dans les juges en ligne
1 #test cases
3 2 #N #K
4 5 7 #N integers
réponse serait sum : 7
qui est 4/2 + 5/2 + 7/2 = 7 (division int)
J'ai écrit un simple programme Python 2.7 pour accepter l'entrée et effectuer l'opération.
t = map(int,raw_input())
t = t[0]
while t>=0:
count=0
n,k = map(int,raw_input().split())
candies = map(int,raw_input().split())
for candy in candies:
count += candy/k
t -= 1
Je reçois l'erreur:
[email protected]:~/Desktop$ python kids_love_candies.py <in.txt >out.txt
Traceback (most recent call last):
File "kids_love_candies.py", line 6, in <module>
n,k = map(int,raw_input().split())
EOFError: EOF when reading a line
Une autre link suggère de lire l'entrée à l'aide sys.stdin.readline()
mais je ne sais pas comment l'appliquer à mon problème. Lequel dois-je utiliser et pourquoi? Quelle est la bonne façon de les apprendre et de les utiliser?
J'ai exécuté le script en python que vous avez posté 2.7.9, et après la suppression des crochets, tout fonctionnait, le nombre d'impression affiche 7. Avez-vous vérifié les fins de ligne de cette fichier ? est-ce un fichier Linux ou Windows? –
J'utilise ubuntu et le fichier est créé en utilisant du texte sublime et un fichier texte. @CristianoAraujo – vvs14
Le lien vers le compilateur en ligne, le même programme et l'entrée différente soulevant la même erreur. @CristianoAraujo http://ideone.com/iWY71C – vvs14