Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/120: Рейтинг темы: голосов - 120, средняя оценка - 4.99
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 9

Разворот последовательности чисел в Python, через рекурсию

05.06.2018, 12:40. Показов 25879. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день уважаемые форумчане!
Стоит следующая задача.Дана последовательность целых чисел, заканчивающаяся числом 0. Выведите эту последовательность в обратном порядке. При решении этой задачи нельзя пользоваться массивами и прочими динамическими структурами данных.

Посмотрел ответы до моих, посмотрел на других форумах все одинаково. Единственный вопрос, выходит слово None, после разворота, и тестирощик не пропускает даже первый тест.

Не знаю, как быть.

Python
1
2
3
4
5
6
7
8
def rev():
    x = int(input())
    if x != 0:
        rev()
    print(x)
 
    
rev()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2018, 12:40
Ответы с готовыми решениями:

Вычисление последовательности через рекурсию C++
Вот код нахождения членов последовательности через цикл, надо переписать с помощью рекурсии double X1 = 0.1, X2 = 0.2, X3 = 0.3, Y1 = 5,...

Написать программу, которая вычисляет треугольник серпинского через рекурсию, Переписать код данный через рекурсию
using System; namespace Serpinski { class Program { static void Main(string args) { ...

Определите наибольшее значение числа в последовательности через рекурсию
Дана последовательность натуральных чисел. Определите наибольшее значение числа в этой последовательности. Сделал рабочий код но нужно...

7
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
05.06.2018, 13:46
Python
1
2
3
4
>>> input()[::-1]
1234567890
'0987654321'
>>>
Добавлено через 43 секунды
P.S. Зачем использовать рекурсию?

Добавлено через 14 минут
Но если очень надо, то
Python
1
2
3
4
5
def rec(n,i):
    return i if (n==0) else rec( n//10, i*10 + n%10 )
    
print(rec(158, 0))  # 858
print(rec(123456789, 0)) #987654321
Добавлено через 22 минуты
P.S. Похоже код №2 для другого типа задания - разворот цифр в числе, а не списка (если под последовательностью понимается он) чисел. Тогда тем более не понимаю, зачем здесь рекурсия, когда есть синтаксис a[::-1] и функция reverse.
0
Эксперт Python
 Аватар для dondublon
4651 / 2071 / 366
Регистрация: 17.03.2012
Сообщений: 10,180
Записей в блоге: 6
05.06.2018, 14:07
Цитата Сообщение от Garry Galler Посмотреть сообщение
P.S. Зачем использовать рекурсию?
Видимо, для того, чтобы её понять
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
05.06.2018, 14:14
P.P.S Нашел похожую тему на форуме. Если ввод и вывод такой:
Code
1
2
3
4
5
6
7
Пример:
Ввод:
1
2
3
0
Вывод: 0 3 2 1
тогда единственно, что требует ваш код это
Python
1
print(a,end=" ")
, чтобы вывод был в одну строку.
А, вообще, так странная задача... бесполезная...

Добавлено через 4 минуты
Цитата Сообщение от dondublon Посмотреть сообщение
чтобы её понять
Фибоначчи + какой-нибудь модуль визуализации (rcviz) - куда лучше, на мой взгляд, даст понимание.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5906 / 3358 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
05.06.2018, 23:58
Цитата Сообщение от dondublon Посмотреть сообщение
Видимо, для того, чтобы её понять
Но ведь для того, чтобы понять рекурсию, нужно понять рекурсию...
1
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 9
06.06.2018, 06:54  [ТС]
Я согласен с Вами и Вы конечно правы в том, что задача бесполезная и создана для того чтобы понять рекурсию. Вопрос стоит в другом, почему в моем коде ВЫХОДИТ NONE В КОНЦЕ! КОД работает все прекрасно переворачивает, Пробую у себя тесты все ответы правильные!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.06.2018, 11:49
Цитата Сообщение от Neznaika90 Посмотреть сообщение
в моем коде ВЫХОДИТ NONE В КОНЦЕ!
Покажите.
У меня нет

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
>>> def rev():
    x = int(input())
    if x != 0:
        rev()
    print(x)
 
    
>>> rev()
1
2
3
4
5
6
0
0
6
5
4
3
2
1
>>>
В упор None не вижу.

Добавлено через 3 минуты
P.S. Если, конечно, вы так не делаете
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> print(rev())
1
2
3
4
0
0
4
3
2
1
None
>>>
Не надо так.
P.P.S. О сколько глупых тем еще нас ждет...
0
06.06.2018, 13:39

Не по теме:

Цитата Сообщение от Jabbson Посмотреть сообщение
Но ведь для того, чтобы понять рекурсию, нужно понять рекурсию...
:D:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2018, 13:39
Помогаю со студенческими работами здесь

Используя рекурсию подсчитать количество чисел и сумму последовательности
Здравствуйте, помогите пожалуйста с задачкой Задана последовательность положительных чисел, признаком конца которых служит...

Найдите наибольший общий делитель последовательности натуральных чисел а1, а2, … an. Нужно применить рекурсию
Видел решение по этой задаче тут https://www.cyberforum.ru/delphi-beginners/thread1860089.html, но я не понял этого решение и не...

Вычислить сумму чисел от 1 до n через рекурсию
напишите функцию sumTo(n), которая для данного n вычисляет сумму чисел от 1 до n через рекурсию

Генератор двоичных чисел через рекурсию
Сгенерировать все двоичные числа с ненулевой первой цифрой, состоящие из a нулей и b единиц, используя рекурсию.

Поиск чисел Фибоначчи через рекурсию
Описать рекурсивную функцию Fib2(N) целого типа, вычисляющую N-й элемент последовательности чисел Фибоначчи (N — целое число): F1 =...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru