2017-07-20 3 views
0

i Fehlercode in dem untenen PythonFehler in Python-Code

a=[1,2,3,4,5,6,7,8,9] 
c,d=divmod(len(a),2) 
i=iter(a).next 
print ''.join('%s\t%s\n' % (i(),i()) 
for i in xrange(c))\ 
+ ('%s\t\n' % (i()) if b==1 
    else '') 

ich brauche ich immer Ausgabe drucken ist

1 2 
3 4 
5 

i Störung erhalten:

Traceback (most recent call last): 
    File "dhsgj.py", line 5, in <module> 
    for i in xrange(c))\ 
    File "dhsgj.py", line 5, in <genexpr> 
    for i in xrange(c))\ 
TypeError: 'int' object is not callable 
+0

was erwarten Sie 'i()' zu tun? – user3080953

+0

@ user3080953 ruft die 'next' Funktion auf. Es ist in der dritten Zeile erklärt. –

+0

auf Zeile 5 Sie überschreiben 'i' von der dritten Zeile –

Antwort

0

Sie tun Sie müssen das Array nicht aufteilen und versuchen, zwei Elemente gleichzeitig zu durchlaufen.

Ich habe Ihren Code aktualisiert, damit es einfacher zu folgen ist. Das sollte funktionieren:

a=[1,2,3,4,5,6,7,8,9] 
iterator = iter(a) 
for first in iterator: 
    try: 
     second = next(iterator) 
    except StopIteration: 
     print first 
    else: 
     print('%s\t%s\n' % (first, second)) 
+0

Vielen Dank, es funktioniert gut –

Verwandte Themen