2017-10-16 3 views
-1

Wenn Sie versuchen, diese Funktion auszuführen, z. B. mit n = 3, warum hängt das Element nicht korrekt an das Ergebnis an? Es druckt als neue Liste der Ergebnisse. Das meldet meine IsPal-Funktion.Anhängen an eine Liste

Antwort

3

Die erste Zeile Ihrer for-Schleife ersetzt Ihre result Variable durch eine neue Liste.

result= [] 

Sie sollten dies vor der for-Schleife stattdessen tun.

+0

Das macht jetzt viel mehr Sinn, danke! – Miraclefruit

+0

Kein Problem - wenn das Ihr Problem gelöst hat, vergessen Sie nicht, diese Antwort anzukreuzen :) – Shadow

2

Das Problem ist, dass Sie das Ergebnis jedes Mal neu definieren.

def silly(n): 
    """requires: n is an int > 0 
    Gets n inputs from user 
    Prints 'Yes' if the inputs are a palindrome; 'No' otherwise""" 
    assert type(n) == int and n > 0 
    result= [] 
    for i in range(n): 
     elem = input('Enter something: ') 
     result.append(elem) 
    print(result) 
3

tauschen diese Zeilen:

result = [] 
for i in range(n): 
    # ... 

Oder Sie result in jeder Iteration werden die Neuzuweisung.

Verwandte Themen