簡體   English   中英

追加到列表中

[英]Appending into a list

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
    for i in range(n):
        result= []
        elem = input('Enter something: ')
        result.append(elem)
        print(result)

    if isPal(result):
        print('Is a palindrome')
    else:
        print('Is not a palindrome')

如果您嘗試運行此函數(例如n = 3),為什么elem不能正確附加到結果上? 它保持打印為新結果列表。 這將通知我的isPal函數。

for循環的第一行將result變量替換為新列表。

result= []

您應該在for循環之前執行此操作。

交換這些行:

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

否則,您將在每次迭代中重新分配result

問題是您每次都在重新定義結果。

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM