AttributeError: 'NoneType' object has no attribute 'append' in Python

Dung Do Tien Sep 03 2021 186

Hello you guys, I am a newbie in Python and I'm also studying more about Python.
I have a small assignment, I want to insert some items into an array and print it out. Like this:

import numpy as np

numtasks = int(input("Enter no. of tasks today: "))
count_input = 0

tasks = []

while count_input != numtasks:
    # Input task and push into array
    intask = input("Input task: ")
    tasks = tasks.append([intask])

    # Condition & break loop
    count_input = count_input + 1
    if(count_input == numtasks):
        break

print(tasks)

But I get an exception AttributeError: 'NoneType' object has no attribute 'append' when I run code above.

Enter no. of tasks today: 2
Input task: Learn english
Input task: Coding
Traceback (most recent call last):
  File "main.py", line 11, in <module>
    tasks = tasks.append([intask])
AttributeError: 'NoneType' object has no attribute 'append'

And I am using python 3.8.2

Anybody can explain it to me? How can I solve it?

Thanks for any response.

Have 1 answer(s) found.
  • T

    Tuấn Nguyễn Trương Anh Sep 03 2021

    You need to know list.append() returns None so you can't assign value for an array by way tasks = tasks.append([intask])

    You can easily fix this issue by replacing tasks = tasks.append([intask]) to tasks.append([intask]).

    import numpy as np
    
    numtasks = int(input("Enter no. of tasks today: "))
    count_input = 0
    
    tasks = []
    
    while count_input != numtasks:
        # Input task and push into array
        intask = input("Input task: ")
        tasks.append([intask])
    
        # Condition & break loop
        count_input = count_input + 1
        if(count_input == numtasks):
            break
    
    print(tasks)

    #Output

    Enter no. of tasks today: 2
    Input task: Coding
    Input task: Reading
    [['Coding'], ['Reading']]

    I hope it helpful for you.

Leave An Answer
* NOTE: You need Login before leave an answer

* Type maximum 2000 characters.

* All comments have to wait approved before display.

* Please polite comment and respect questions and answers of others.

Popular Tips

X Close