Python Forum
arrays sum list unsupported operand type(s) for +=: 'int' and 'list'
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
arrays sum list unsupported operand type(s) for +=: 'int' and 'list'
#1
Hello.
I want to make more "def" in my program, but I'am getting an error like this when want to sum numbers in the list. "this unsupported operand type(s) for +=: 'int' and 'list'" How to solve this? I want to make this definition
def skaiciuoti(betkokieskaiciai):
            suma=0
            for betkokszodis in betkokieskaiciai:
                suma+=(skaicius)
            return suma
instead of this
suma=sum((skaicius)
suma2=sum(skaicius2)
suma3=sum(skaicius3)
suma4=sum(skaicius4)
suma5=sum(skaicius5)
At this mooment my program is looking like this.
n=int(input('Kiek norite įvesti skaičių pirmam masyvui'))
n2=int(input('Kiek norite įvesti skaičių antram masyvui'))
n3=int(input('Kiek norite įvesti skaičių trečiam masyvui'))
n4=int(input('Kiek norite įvesti skaičių ketvirtam masyvui'))
n5=int(input('Kiek norite įvesti skaičių penktam masyvui'))      
suma=0
suma2=0
suma3=0
suma4=0
suma5=0
skaicius=[]
skaicius2=[]
skaicius3=[]
skaicius4=[]
skaicius5=[]
for i in range(n):
    a=float(input('Iveskite skaiciu pirmas masyvas'))
    
    skaicius.append(a)
def tekstas(kazkoks):
    print(f"{kazkoks} masyvas įvestas")
tekstas("pirmas")


for i in range(n2):
    a=float(input('Iveskite skaiciu antras masyvas'))
    
    skaicius2.append(a)
tekstas("antras")    
for i in range(n3):
    a=float(input('Iveskite skaiciu trecias masyvas'))
    
    skaicius3.append(a)
tekstas("trečias")       
for i in range(n4):
    a=float(input('Iveskite skaiciu ketvirtas masyvas'))
    
    skaicius4.append(a)
tekstas("ketvirtas")     
for i in range(n5):
    a=float(input('Iveskite skaiciu penktas masyvas'))
    
    skaicius5.append(a)                        
tekstas("penktas") 

        
suma=sum(skaicius)
suma2=sum(skaicius2)
suma3=sum(skaicius3)
suma4=sum(skaicius4)
suma5=sum(skaicius5)
def spausdinimas(pirmas, antras):
    print(f"Masyvo elementų,{pirmas}{antras},suma")

spausdinimas(skaicius,suma)
spausdinimas(skaicius2,suma2)
spausdinimas(skaicius3,suma3)
spausdinimas(skaicius4,suma4)
spausdinimas(skaicius5,suma5)
Reply
#2
Please always show actual error traceback, complete and unaltered, in error tags.
It contains very useful information, especially when there are different languages being used.

If I understand correctly, it seems as if you have nested lists, because the error you are quoting is complaining because
the += it is being fed a list instead of a single number. (First function).

Please post actual error message, complete and unaltered.
Reply
#3
(Oct-19-2019, 06:11 PM)Larz60+ Wrote: Please always show actual error traceback, complete and unaltered, in error tags.
It contains very useful information, especially when there are different languages being used.

If I understand correctly, it seems as if you have nested lists, because the error you are quoting is complaining because
the += it is being fed a list instead of a single number. (First function).

Please post actual error message, complete and unaltered.
I have updated this program, now it doesn't sum my first list "skaicius" in def function, although I have made suma as "global suma". [Image: hMxJrtg]
Works with this code, but how I can make only one def that sum all my lists in different lines?
def skaiciuoti(skaicius):
    global suma
    suma=0    
    for betkokszodis in skaicius:
        suma+=betkokszodis  
    return suma   

        
    
result= skaiciuoti(skaicius)
print("sum = ", result)
n=int(input('Kiek norite įvesti skaičių pirmam masyvui'))

n2=int(input('Kiek norite įvesti skaičių antram masyvui'))
n3=int(input('Kiek norite įvesti skaičių trečiam masyvui'))
n4=int(input('Kiek norite įvesti skaičių ketvirtam masyvui'))
n5=int(input('Kiek norite įvesti skaičių penktam masyvui'))      

suma=0
suma2=0
suma3=0
suma4=0
suma5=0
skaicius=[]
skaicius2=[]
skaicius3=[]
skaicius4=[]
skaicius5=[]
for i in range(n):
    a=float(input('Iveskite skaiciu pirmas masyvas'))
    
    skaicius.append(a)
def tekstas(kazkoks):
    print(f"{kazkoks} masyvas įvestas")
tekstas("pirmas")


for i in range(n2):
    a=float(input('Iveskite skaiciu antras masyvas'))
    
    skaicius2.append(a)
tekstas("antras")    
for i in range(n3):
    a=float(input('Iveskite skaiciu trecias masyvas'))
    
    skaicius3.append(a)
tekstas("trečias")       
for i in range(n4):
    a=float(input('Iveskite skaiciu ketvirtas masyvas'))
    
    skaicius4.append(a)
tekstas("ketvirtas")     
for i in range(n5):
    a=float(input('Iveskite skaiciu penktas masyvas'))
    
    skaicius5.append(a)                        
tekstas("penktas") 

def skaiciuoti(betkokieskaiciai):
    
    for betkokszodis in betkokieskaiciai:
        global suma
        suma+=(skaicius)
    return suma
print(sum((skaicius)))


suma2=sum(skaicius2)
suma3=sum(skaicius3)
suma4=sum(skaicius4)
suma5=sum(skaicius5)
def spausdinimas(pirmas, antras):
    print(f"Masyvo elementų,{pirmas}{antras},suma")

spausdinimas(skaicius,suma)
spausdinimas(skaicius2,suma2)
spausdinimas(skaicius3,suma3)
spausdinimas(skaicius4,suma4)
spausdinimas(skaicius5,suma5)
Reply
#4
It already does that:
def skaiciuoti(skaicius):
    global suma
    suma=0    
    for betkokszodis in skaicius:
        suma+=betkokszodis  
    return suma

first = [1, 2, 3, 4, 5]
second = [9, 3, 8, 6, 0, 12, 9]
print(skaiciuoti(first))
print(skaiciuoti(second))
output:
Output:
15 47
Reply
#5
(Oct-19-2019, 07:09 PM)Larz60+ Wrote: It already does that:
def skaiciuoti(skaicius):
    global suma
    suma=0    
    for betkokszodis in skaicius:
        suma+=betkokszodis  
    return suma

first = [1, 2, 3, 4, 5]
second = [9, 3, 8, 6, 0, 12, 9]
print(skaiciuoti(first))
print(skaiciuoti(second))
output:
Output:
15 47
Yes it works, maybe I missed something. Do you know the shortest way how to print
like in the table below: :^10 .format doesn't work in this case for me or I don't know how to use...
First Array |[1 2 3] | sum is 6
Second Array | [2 2 3] | sum is 7
Third Array | [1 0 -1] | sum is 0
Last updated code is:
def skaiciuoti(skaicius):
    global suma
    suma=0    
    for betkokszodis in skaicius:
        suma+=betkokszodis  
    return suma

print(skaiciuoti(skaicius))
print(skaiciuoti(skaicius2))
print(skaiciuoti(skaicius3))
print(skaiciuoti(skaicius4))
print(skaiciuoti(skaicius5))
Reply
#6
shortest way to print?
see my previous post, lines 10 and 11
Reply
#7
(Oct-20-2019, 05:00 AM)Larz60+ Wrote: shortest way to print?
see my previous post, lines 10 and 11
print(skaiciuoti(skaicius2))
This print is calling only one def function. How to insert print text, print list in this def function or I need to make a new def for printing like this?
I need to print like this way.
First Array |[1 2 3] | sum is 6
Second Array | [2 2 3] | sum is 7
Third Array | [1 0 -1] | sum is 0
Reply
#8
please study python basics!
these are simple print statements!
example 1:

print(f"First Array: |[1 2 3] | sum is {skaiciuoti([1, 2, 3])}")
you need comma's in your list for it to be a valid list,


output:
Output:
First Array: |[1 2 3] | sum is 6
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  how to reverse a list and store in another list in python SuperNinja3I3 6 3,226 Aug-14-2022, 06:36 PM
Last Post: DeaD_EyE
Question Python - List - Int List sophi 8 2,460 Apr-21-2022, 07:55 PM
Last Post: sophi
  TypeError: unsupported operand type(s) for /: 'str' and 'int' enderfran2006 1 2,596 Oct-01-2020, 09:41 AM
Last Post: buran
  Check if a list exists in given list of lists Daniel94 2 2,204 Apr-07-2020, 04:54 PM
Last Post: deanhystad
  list of strings to list of float undoredo 3 2,628 Feb-19-2020, 08:51 AM
Last Post: undoredo
  have homework to add a list to a list using append. celtickodiak 2 1,968 Oct-11-2019, 12:35 PM
Last Post: ibreeden
  Search character from 2d list to 2d list AHK2019 3 2,439 Sep-25-2019, 08:14 PM
Last Post: ichabod801
  I donr know how to search from 2d list to 2d list AHK2019 1 1,730 Sep-25-2019, 01:59 AM
Last Post: ichabod801
  Resolving unsupported operand type +=: 'int' and 'str' jedmond2 4 6,308 Sep-10-2019, 05:04 PM
Last Post: jedmond2
  sort a list alphabeticaly without changing the original list Holmen 5 4,137 Jan-27-2019, 01:49 PM
Last Post: Holmen

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020