PYTHON в коде в "resultat" отображаются цифры 12, 5, 6, а должны 12, 35, 13

import math
import time
import os

import my_module as my

my.printSome(my.some)
res = my.summ(5, 8, 12, 10)
print(res)
print(my.summ(6, 3, 4))

файл который импортировали ниже

if __name__ == "__main__":
    print("hi")

some = 12

def printSome(str):
    print("resultat:", str)

def summ(*args):
    summa = 0
    for i in args:
        summa += i

        return summa

Ответы (1 шт):

Автор решения: 4500zenja

В функции summ напортачили с отступами, из-за чего переменная summa возвращается сразу после прибавления к нему первого из аргументов, а не завершения цикла:

def summ(*args):
    summa = 0
    for i in args:
        summa += i

        return summa # вот здесь
    ^^^^

Просто уберите лишний отступ у выделенной строки, и функция будет работать нормально. :)

→ Ссылка