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

Как изучить цикл for

03.12.2019, 07:13. Показов 2278. Ответов 12

Студворк — интернет-сервис помощи студентам
Добрый день всем светлым умам.
У меня вот уже долгие годы проблемы с циклом For/while (не важно на каком языке). Я понимаю решенные задачи. Но сам решить ни как не могу. Что делать. Как изучить? Помогите кто может советом, учебниками.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.12.2019, 07:13
Ответы с готовыми решениями:

Какие книги лучше всего изучить чтобы хорошо изучить с++
Хотелось бы открыть тему, либо если она уже есть подскажите ссылку. Хочу собрать список книг чтобы изучить профессионально с++, если...

Пишу обработку, надо изучить учёт производства в Бухгалтерии 8.2. Где можно об этом прочитать или изучить сам принцип?
Пишу обработку, надо изучить учёт производства в Бухгалтерии 8.2. Где можно об этом прочитать или изучить сам принцип?

Как изучить DirectX10/11?
Ээээ... Собственно, в этом и весь вопрос. Если изучили его вы, то как вы это сделали? У меня есть учебник по DirectX10, но он оставляет...

12
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
03.12.2019, 10:58
Уже долгие годы не можете понять перебор элементов в чём-то?
0
2 / 2 / 0
Регистрация: 03.12.2019
Сообщений: 11
03.12.2019, 12:11  [ТС]
Уважаемый dondublon. Я в основном не могу провести арифметические действия и сравнительные действия между соседними элементами. А матрица это для меня вообще бомба.
Цитата Сообщение от dondublon Посмотреть сообщение
же долгие годы не можете понять перебор элементов в чём-то?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.12.2019, 17:09
Nutullokhon, давай конкретный пример.
0
2 / 2 / 0
Регистрация: 03.12.2019
Сообщений: 11
03.12.2019, 17:16  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Nutullokhon, давай конкретный пример.
Поймите меня правильно. Я не хочу решить одну задачку. Вы скажите как вы научились решать задачи по циклу, с чего начинали. Я хочу в целом уметь решать любые задачи по циклам. Что для этого надо учить.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.12.2019, 17:23
Nutullokhon, я пока не понимаю, в чем конкретно проблема, поэтому и прошу пример.

«Не понимаю цикл for» — заявленная, но не фактическая проблема. Далее по тексту мы узнаем, что на самом деле проблема не с циклом, а с алгоритмами. Возможно, с задачами какого-то конкретного класса. Было упомянуто что-то про соседние элементы. Возможно, нужно перебирать индексы элементов. Возможно, нужно что-то другое. Без конкретной задачи гадать можно долго.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.12.2019, 17:38
Цитата Сообщение от Nutullokhon Посмотреть сообщение
Задачи по циклу
Таких задач не существует.
Цикл это просто управляющая конструкция, предназначенная для организации многократного исполнения набора инструкций. Всезнающая википедия.
И все. Никакой магии: есть переменная цикла, есть диапазон элементов по которому идет перебор и есть последовательное увеличение\уменьшение переменной цикла на заданный шаг (по умолчанию шаг равен единице). Все что происходит далее с переменной цикла внутри цикла отношения к циклу как таковому не имеет.
0
2 / 2 / 0
Регистрация: 03.12.2019
Сообщений: 11
03.12.2019, 17:39  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Nutullokhon, я пока не понимаю, в чем конкретно проблема, поэтому и прошу пример.
«Не понимаю цикл for» — заявленная, но не фактическая проблема. Далее по тексту мы узнаем, что на самом деле проблема не с циклом, а с алгоритмами. Возможно, с задачами какого-то конкретного класса. Было упомянуто что-то про соседние элементы. Возможно, нужно перебирать индексы элементов. Возможно, нужно что-то другое. Без конкретной задачи гадать можно долго.
Спасибо за отзывчивость. С алгоритмами циклов проблема конкретная. Что делать. Для того что бы что то добавить мне в голову. Помогите решить вот эти задачи.
Дано множество непоследовательных чисел. n количества. Например 51,16,32,65,45,89.
1. Сравнить соседние и напечатать большого из них. Вывод: 51,32,65,65,89
2. Если число больше 50 суммировать два соседних числа, а если меньше 50 от большого минусовать меньшее. Вывод (51-32), (65+16), (45+32),(89-65)
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
03.12.2019, 17:48
Цитата Сообщение от Nutullokhon Посмотреть сообщение
Дано множество непоследовательных чисел. n количества. Например 51,16,32,65,45,89.
1. Сравнить соседние и напечатать большого из них. Вывод: 51,32,65,65,89
Если числа хранятся в списке, то здесь сравниваются:
Code
1
2
3
4
5
51 и 16  # 0 и 1
16 и 32  # 1 и 2
32 и 65  # 2 и 3
65 и 45  # 3 и 4
45 и 89  # 4 и 5
Индекс первого числа меняется от 0 до n-1 не включительно, индекс второго числа на единицу больше. Пишем цикл для i от 0 до n-1, в цикле берем из списка элементы i и i + 1.

Цитата Сообщение от Nutullokhon Посмотреть сообщение
2. Если число больше 50 суммировать два соседних числа, а если меньше 50 от большого минусовать меньшее. Вывод (51-32), (65+16), (45+32),(89-65)
Цикл по i от 1 до n-1. В цикле используются элементы i, i-1, i+1.

Для этих задач не нужна специальная теория.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
03.12.2019, 17:55
Лучший ответ Сообщение было отмечено Nutullokhon как решение

Решение

Да задачи в большинстве своём потому что дурацкие. Типа такой:

Найти сумму элементов между двумя первыми отрицательными числами в списке. Гарантируется, что в списке есть как минимум два отрицательных числа
Вход: 1 2 5 -1 5 6 4 -9 -9 5 6 4 -5 9
Выход: 15

И будешь думать, как бы лучше перебрать циклом этот список.

Добавлено через 5 минут
Цитата Сообщение от Nutullokhon Посмотреть сообщение
1. Сравнить соседние и напечатать большого из них. Вывод: 51,32,65,65,89
А первую очередь нужно определить границы цикла. Начало цикла пусть будет с нуля. Пишем:
Python
1
for i in range(0,):
С последним индексом сложнее, пока не будем писать и перейдём в тело цикла:
Python
1
if arr[i] > arr[i+1]:
Сравниваем нулевой и первый элемент. Так доходим до конца. Чтобы не выйти за границы списка, итерируемся не до len(arr) , а на единичку меньше.

Итог:
Python
1
2
3
4
5
6
arr = [ 51,16,32,65,45,89]
for i in range(0, len(arr) - 1):
    if arr[i] > arr[i+1]:
        print(arr[i])
    else:
        print(arr[i+1])
2
2 / 2 / 0
Регистрация: 03.12.2019
Сообщений: 11
04.12.2019, 06:33  [ТС]
Рыжий Лис, Я кайфанул от такого объяснения. примерно такое объяснение я и искал, вот такой подход к решению задачи. Какое хорошее поэтапное объяснение. Спасибо огромное.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
04.12.2019, 08:17
Цитата Сообщение от Nutullokhon Посмотреть сообщение
Спасибо огромное
0
2 / 2 / 0
Регистрация: 03.12.2019
Сообщений: 11
04.12.2019, 09:11  [ТС]
Рыжий Лис, я просто здесь новенький, я не заметил.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2019, 09:11
Помогаю со студенческими работами здесь

Как изучить Олбанский?
Собственно сабж. Нужен хотя бы для написания коментов в своем коде. А то не интересные коменты получаються. Типа //КОД РАБОТАЮЩЕГО...

Как изучить Java
Понимаю что вопрос немного странноват,но,как выучить Java новичку.Это просто ужасно сложный язык.

Как изучить WinSock
Есть ли годная литература для c++?

Как реально изучить PHP
Добрый день. Недавно закончил ВУЗ по технической специальности (грубо говоря, "программист-математик", знак "-"...

Как полностью изучить язык?
Всем привет, изучаю C# азы знаю, делал некоторые програмки средние по сложности, делаю простенькие игры на Unity, но моих знаний мне...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru