2016-08-13 10 views
0

Ich bekomme Runtime Error - NZEC bei der Ausführung dieser Code online. Ich suchte .. es ist wegen des Eingabeformats. Bitte hilf mir.So nehmen Sie Eingabe in einer Zeile in Python und speichern sie in der Liste

import math 
a=input() 
b=int(a) 
e=list() 
answer=1 
for c in range(0,b): 
    d=input() 
    e.append(d) 
for c in range(0,b): 
    g=e[c] 
    answer=math.fmod(float(float(answer) * float(g)),float((10**9)+7)) 
print(int(answer)) 
+0

Es funktioniert in Ordnung für mich. Können Sie die Ausnahme mit dem StackTrace teilen? – Seba

+0

'e.append (int (d))' wäre besser wie die erste Eingabe, die Sie getan haben. –

+0

@ Seba: Verwenden Sie Python 2 oder Python 3. In Python 2 würde das funktionieren. –

Antwort

0

, wenn Sie die zweite und folgende Eingaben in einer einzigen Zeile (I durch Leerzeichen getrennt guess) nehmen möchten, können Sie folgendes tun:

import math 
a=input() 
b=int(a) 
answer=1 

e = raw_input().split(" ")[:b] 

for c in range(0,b): 
    g=e[c] 
    answer=math.fmod(float(float(answer) * float(g)),float((10**9)+7)) 
print(int(answer)) 

Zum Beispiel würden Sie „3 [Typ Enter] "dann" 5 66 77 [Enter] ". Ist das was du brauchst?

EDIT: Ich denke, das ist eine Art Programmierübung. Aber bei Bedarf können Sie sogar die erste Eingabe weglassen und nur eine Liste von X-Nummern durch Leerzeichen getrennt anfordern:

+0

Ja, ich möchte so nur "3 [enter]" dann "5 66 77 [enter]". Danke für deine freundliche Hilfe. – Himanshu

+0

die Frage war nicht so gut, Seba musste erraten, was Sie eingegeben haben. Wir alle haben angenommen, dass Sie nur eine Nummer eingegeben haben. –

Verwandte Themen