2016-07-29 2 views
0

У меня есть эта программа на python, которая печатает сумму чисел. Я использовал оператор splat (*). Когда я печатаю результат, я получаю результат как Нет? Можно ли исправить это? Я пробовал много вещей, таких как передача нескольких аргументов, но это просто не работает.Оператор Splat в сочетании с функцией

def addition(*no): 
    sum = 0 
    for n in no: 
     sum=sum+n 


print addition(4) 
+0

Ты ничего –

+0

не возвращает 'return' возвращает что-то ^^ –

+0

Когда я использовал return ie return sum. и я назвал добавление функции (4,5,6), он всегда возвращает первый аргумент, переданный без добавления чего-либо. –

ответ

0

Вы должны вернуть sum переменную, используя return заявление:

def addition(*no): 
    sum = 0 
    for n in no: 
     sum=sum+n 
    return sum 

print addition(4) 

Вы получаете None потому функция, которая не использует return возвращается None в Python.

Также отметим, что, если вы когда-нибудь понадобится, чтобы написать функцию, которая делает это в производственной среде, есть sum функция:

def addition(*no): 
    return sum(no) 
+1

О, давай ... Это такая простая ошибка .... –

+0

Спасибо! Это решило мою проблему. –

+0

@AnidhSingh 'return sum' ?? Никогда это не возвращает 'None' –

Смежные вопросы