Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 10
1

Почем-то при выполнении программы выводит "None"

25.11.2018, 14:56. Показов 1422. Ответов 4
Метки нет (Все метки)

a =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]



def summa(x):
d = 0
i = 0
if x > 0:
d = d + a[i]
i = i + 1
summa(x - 1)
else:

return(d)

print(summa(10))
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2018, 14:56
Ответы с готовыми решениями:

Не нажимает на "ДА" в UAC при выполнении запуска программы
Написал код (только учусь) где запускается программа, но при ее запуске выползает окно с UAC и...

"... raised too many consecutive exceptions ..." при выполнении программы
Очень прошу помощи у людей которые смогут мне помочь! Я на 1 курсе комп инженерии .. учу как могу...

"Одномерный массив" Ошибка при выполнении программы
Помогите, пожалуйста, найти ошибку, при выполнении программа вылетает. По заданию нужно Вставить...

Ошибка "Segmentation fault" при выполнении программы
Почему такой код работает, __strlen: // result - %rdx, argument - %rsi movq %rsi, %rdx ...

4
4 / 2 / 2
Регистрация: 28.03.2018
Сообщений: 3
25.11.2018, 17:45 2
Лучший ответ Сообщение было отмечено Au_Ag как решение

Решение

summa(0) вернет 0 (так как переменные не глобальные), но summa(0) вызывается из summa(1) и не присваевается никакой переменной и не возвращается в качестве значения функции summa(1). Чтобы возвращалось не None необходимо написать
Python
1
return (summa(x - 1))
А чтобы выводилось что-то похожее на правду надо передавать i,d в качестве параметров функции
Python
1
2
3
4
5
6
7
8
9
10
11
a =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 
def summa(x,i,d):
    if x > 0:
        d = d + a[i]
        i = i + 1
        return summa(x - 1,i,d)
    else:
        return d
 
print(summa(10,0,0))
1
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 10
25.11.2018, 19:13  [ТС] 3
Спасибо за ответ, но, к сожалению, не поменялся результат. Так же выдает "None".
Миниатюры
Почем-то при выполнении программы выводит "None"  
0
Эксперт Python
5174 / 3696 / 1173
Регистрация: 28.10.2013
Сообщений: 9,286
Записей в блоге: 1
25.11.2018, 19:20 4
Написано же
Цитата Сообщение от Kemol Посмотреть сообщение
return summa(x - 1,i,d)
Если код ничего не возвращает, он возвращает None.
1
0 / 0 / 0
Регистрация: 24.10.2018
Сообщений: 10
25.11.2018, 19:28  [ТС] 5
Благодарю за помощь
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2018, 19:28

Блокировка кнопки "Закрыть" при выполнении программы
Изначально создается окно с активной кнопкой "Закрыть" - красный крестик.Как при выполнении...

Ошибка при выполнении программы "division by zero"
Прошу, обьясните мне, почему когда я уже запускаю прогу и ввожу числа вилетает ошибка:

При выполнении запроса "Необработанное исключение типа SqlException" - "Invalid column name"
Сам запрос рабочий в SQL, проверял какие данные вводил, но не знаю в чем проблема. ...

Сообщение об ошибке "Непредвиденное появление: B." при выполнении команды "FOR %B IN (*) DO ..."
бегло прочитал https://www.cyberforum.ru/cmd-bat/thread877664.html не нашел подходящей инфы пишу...

Почему "не отвечает" программа при выполнении "in"?
Почему у меня программа вылетает если я выполняю "in" на 60h порт? Пробовал программу запустить...

Выводит в статусбар код нажатой клавиши, выводит сообщение при нажатии на клавишу "с"
Здравствуйте, код есть, работал, но почему-то??? дал сбой <!DOCTYPE html> <!--html5--> <html>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru