Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815

Не выводится числа из списка

08.08.2024, 22:07. Показов 959. Ответов 18

Студворк — интернет-сервис помощи студентам
почему не выводится числа из списка
Python
1
2
3
4
5
6
7
8
9
10
def p(x):
    for i in x:
        if x == []:
            return
        else:
            return p(x[:])
 
x = [1, 2, 3, 4, 5]
a = p(x)
print(a)
почему так p(x[:]) - нельзя а так
Python
1
2
3
else:
    print(p(x[0]))
    p(x[1:])
можно

почему при p(x[:])
вылазит ошибка, что идет какое-то переполнение я и так вижу
почему не перебираются числа по порядку

E:\PYTHON\projects\PROBA_1\venv\Scripts\ python.exe C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py
Traceback (most recent call last):
File "C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py", line 10, in <module>
a = p(x)
File "C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py", line 6, in p
return p(x[:])
File "C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py", line 6, in p
return p(x[:])
File "C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py", line 6, in p
return p(x[:])
[Previous line repeated 995 more times]
File "C:/Users/Гоша/.PyCharmCE2018.1/config/scratches/scratch_2.py", line 3, in p
if x == []:
RecursionError: maximum recursion depth exceeded in comparison

Process finished with exit code 1

просьба тему не зас.. рать а писать по делу
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2024, 22:07
Ответы с готовыми решениями:

Два списка; один выводится, второй - не выводится
Вот код rooms = people = print(people) print(rooms) а на выходе только список people

Текст из списка выводится не в бота,а в терминал,как сделать так чтобы текст из списка выводился в бота, а не втерминал?
import telebot from config import * from Question import Question import keyboard bot = telebot.TeleBot(TOKEN) ...

Не выводится элемент списка
Написал несколько функций: для заполнения связного списка, добавление в него элемента на заданную позицию и вывод измененного списка на...

18
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,307
08.08.2024, 22:22
Цитата Сообщение от ujif Посмотреть сообщение
что идет какое-то переполнение
по делу начни читать материал а то произойдет переполнение форума глупыми вопросами!!! потому что нет выхода из рекурсии!!! так как список не изменяется и условие if x == []: не выполнится никогда. с таким же успехом можно писать
Python
1
return p(x)
>>> x = [1, 2, 3, 4, 5]
>>> d = x[:]
>>> c = x[:]
>>> e = x[:]
>>> x
[1, 2, 3, 4, 5]

>>> d
[1, 2, 3, 4, 5]
>>> c
[1, 2, 3, 4, 5]
>>> e
[1, 2, 3, 4, 5]
>>>
1
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
08.08.2024, 23:07
Python
1
2
3
4
5
6
7
8
9
10
11
12
def p(x):
    for i in x:
        if x == []:
            return p(x)
        else:
             print(p(x[0]))
             p(x[1:])
 
 
x = [1, 2, 3, 4, 5]
a = p(x)
print(a)
Не понял почему ошибка?

Добавлено через 17 минут
Все равно бред какой то получается:
Python
1
2
3
4
5
6
7
8
9
10
11
12
def p(x):
    for i in x:
        if x == []:
            return p(x)
        else:
 
           return  p(x[1:])
 
 
x = [1, 2, 3, 4, 5]
a = p(x)
print(a)
0
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
08.08.2024, 23:24  [ТС]
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
глупыми вопросами!!!
так и не стоило писать свои глупые ответы,
ты не можешь объяснить просто, - почему числа из списка при p(x[:])
не считываются друг за другом пока список не опустеет,
я же писал , и тебе бы нужно было быть внимательным, почему так
print(p(x[0]))
p(x[1:]) все читается по порядку
а так p(x[:]) никакой остановки нет
не можешь объяснить просто без " читай материал" , и какой "материал" и где читать ???
зачем ты тут ?? и без твоих воплей нервы на пределе
и что ты там показал выводя вот это
>>> d
[1, 2, 3, 4, 5]
>>> c
[1, 2, 3, 4, 5]
>>> e
[1, 2, 3, 4, 5]
что это значит для объяснения ??

Добавлено через 4 минуты
Цитата Сообщение от isaak Посмотреть сообщение
Не понял почему ошибка?
просил не засерать тему , на кой ты тут расписался ?
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
08.08.2024, 23:28
Тоже, под сомнением:
Python
1
2
3
4
5
6
7
8
9
10
11
12
def p(x):
    for i in x:
        if x == []:
            return p(x)
        else:
 
           return  p(x[1:])
 
 
x = [1, 2, 3, 4, 5]
a = p(x)
print(x[1:])
0
37 / 31 / 13
Регистрация: 08.12.2012
Сообщений: 815
08.08.2024, 23:36  [ТС]
[...]
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 00:24
Вроде рекурсия:
Python
1
2
3
4
5
6
7
def run(t):
  while(t):
    yield t
    t = [x - 1 for x in t if x > 1]
mylist = [1,2,3,4,5]
for t in run(mylist):
  print(t)
Добавлено через 27 минут
Semen-Semenich, последнее решение вроде бы больше похоже на рекурсию?

Добавлено через 9 минут
Semen-Semenich, можно еще собрать в один массив с помощью list
Python
1
2
3
4
5
6
7
def run(t):
  while(t):
    yield t
    t = [x - 1 for x in t if x > 1]
 
mylist = [5,4,3,2,1,1]
print(list(run(mylist)))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.08.2024, 08:04
Цитата Сообщение от ujif Посмотреть сообщение
какой "материал" и где читать ???
Внезапно - В УЧЕБНИКЕ!!! Их несть числа. Бери любой и начинай сначала читать и решать задачи.
Цитата Сообщение от ujif Посмотреть сообщение
почему
Потому что написано пальцем в небо. И тебе ув. Семеныч написал почему - нет условия выхода из рекурсии. Ты берешь срез списка от начала до конца, т.е. его копию. Что там и куда уменьшается?

Добавлено через 4 минуты
Python
1
2
3
4
5
6
7
def foo(z):
    if z:
        print(z[0])
        foo(z[1:])
 
 
foo([1, 2, 3, 4, 5])
2
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 12:15
iSmokeJC, вот еще менее красивые варианты:
Python
1
2
3
my_list = [1, 2, 3, 4]
result = int("".join(str(x) for x in my_list))
print(result)

Python
1
2
lst = [1, 2, 3, 4]
print(''.join(map(str, lst)))
Python
1
2
3
4
numbers = [1, 2, 3, 4]
str_numbers = ''.join(str(i) for i in numbers)
result = int(str_numbers)
print(result)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.08.2024, 12:17
isaak, да вариантов тьма. Тут вроде базар про рекурсию был
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 12:31
iSmokeJC, то что я с ночью с рекурсией выложил это подходит?
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.08.2024, 12:33
isaak, там нет рекурсии
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 12:35
Заметил у себя ошибку:
Python
1
2
3
4
5
6
7
8
def run(t):
    while (t):
        yield t
        t = [x - 1 for x in t if x > 1]
 
 
mylist = [1, 2, 3, 4, 5]
print(list(run(mylist)))
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.08.2024, 12:39
isaak, рекурсии тут нет, это раз. Что выведет твоя прога, если список будет например такой - [1, 1, -1, -1, 0, 0, 1, 1] ?
Это два.
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 12:48
iSmokeJC, вот рекурсивный список:
Python
1
2
3
4
5
6
7
8
9
def func(lst):
    for el in lst:
        if isinstance(el, list):
            func(el)
        else:
            print(el)
 
 
func([1, 2, 3, 4, 5])
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
09.08.2024, 12:48
isaak, и что?
0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 13:03
Выполняет, тоже что и ваш код. Правильно?

Добавлено через 6 минут
Вот еще как вариант:
Python
1
2
3
4
5
6
7
def func(n):
    if n < 1:
        return 1
    else:
        print(n)
        return func(n - 1)
func(5)
0
09.08.2024, 13:04

Не по теме:

Смешались вместе кони, люди...

0
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,332
09.08.2024, 13:12
Вот еще вариант:
Python
1
2
3
4
5
6
def func(n):
 
    if n > 0:
        func(n - 1)
        print(n)
func(5)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.08.2024, 13:12
Помогаю со студенческими работами здесь

Не выводится содержимое динамического списка
доброго времени суток. структура с типом стринг, трем элементам структуры присваивается значение потом при попытки вывести одно из...

Не выводится первый элемент списка
Пишу стек. При вводе все ок, в теории все ок, но при выводе он не выводит первый элемент, и закрывает консоль. что не так? #include...

Не выводится ноль из списка решить проблему
def filt (a): if a!=str(a): return a if a == 0: return 0 def filter_list(l): ...

Выводится только первый элемент списка
здравствуйте, посмотрите пожалуйста что не так в данно коде . Хоть убейте , не понимаю что не так . Программа создает список из 10...

Вывод списка локальных IP - выводится не то, что нужно
Добрый вечер. IPHostEntry iphostentry = Dns.GetHostByName(Dns.GetHostName()); foreach(IPAddress ipaddress in...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru