[英]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.