С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133

Простейшие операции с циклами

27.08.2018, 18:53. Показов 3521. Ответов 14

Студворк — интернет-сервис помощи студентам
Как сделать то же самое, только циклом for?

Python
1
2
3
4
5
print("cycle while:")
i = 1000
while i > 100:
    print(i)
i /= 2
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.08.2018, 18:53
Ответы с готовыми решениями:

Простейшие арифметические операции
Практическая работа "Создание пользовательских функций" Напишите пожалуйста комментарии, чем больше чем лучше, а то училка докапается и я...

Простейшие задачи с циклами
1.) Дано натуральное число. Определить:количество четных цифр в нем. Составное условие и более одного неполного условного оператора не...

Простейшие операции
Здравствуйте! Возникла необходимость создать небольшой редактор doc документов.Я с удовольствием пользуюсь TRichViewEdit,уже второй...

14
6 / 6 / 5
Регистрация: 27.10.2015
Сообщений: 15
27.08.2018, 19:13
То, что вы написали - бесконечный цикл. Можно встречный вопрос? Зачем цикл for, если while как раз подходит для таких действий?
0
 Аватар для chdanil
2 / 1 / 1
Регистрация: 20.06.2018
Сообщений: 31
27.08.2018, 21:55
бесконечный цикл задается while! ведь for in range () предусматривает разность двух чисел(от одного до другого), а разность каких чисел бесконечна?))))

Добавлено через 4 минуты
кстати, у цикла while есть еще преимущество: например, при определенном значении переменной мы хотим сократить длину цикла: в while просто прибавим значение к счетчику, а в for такого не сделать

Добавлено через 7 минут
хм... я попробовал создать бесконечный цикл while внутри которого бесконечно повторяется for:
Python
1
2
3
4
while True:
    k=+1
    for i in range(k):
        print('123')
это ответ на Вашу задачу?
0
277 / 226 / 93
Регистрация: 27.06.2016
Сообщений: 639
27.08.2018, 21:57
Упс, перепутал
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
27.08.2018, 22:56
Цитата Сообщение от Artur_1309 Посмотреть сообщение
То, что вы написали - бесконечный цикл
Вероятно в 5-й строке предполагался отступ (т.е. 5-я строка должна быть внутри цикла, а не снаружи)

Добавлено через 39 минут
Возможно, ТС имел в виду можно ли на питоне через for написать цикл, аналогичный тому, как это было бы на Си

C
for (i = 1000; i > 100; i /= 2) { ... }
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
28.08.2018, 00:37
Лучший ответ Сообщение было отмечено Muriam как решение

Решение

Мы простых путей не ищем!
Python
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python3
 
def div_range(start, stop, divider):
    while start > stop:
        yield start
        start //= divider
 
if __name__ == "__main__":
    for x in div_range(1000, 100, 2):
        print(x)
Code
1
2
3
4
5
6
[andrew@easybook numbers]$ ./div_range.py 
1000
500
250
125
[andrew@easybook numbers]$
1
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
28.08.2018, 11:28
тупо подгон


Python
1
2
3
4
i = 1000
for _ in range(4):
    print(i)
    i /= 2
1
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
28.08.2018, 15:49  [ТС]
chdanil, у меня ошибка, 5-ая строка должна быть на уровне 4-ой.
Результат должен быть, как у easybudda в выводе кода.

Добавлено через 8 минут
easybudda, спасибо, у вас ход решения правильный и вывод результата на экран правильный.
Но почему-то у меня ваш код не правильный результат выдает.

Добавлено через 6 минут
easybudda, а, все, получилось. Какой-то касяк в тот раз вышел.
Объясните мне, пожалуйста, строки 6 и 8.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
28.08.2018, 15:53
Цитата Сообщение от Muriam Посмотреть сообщение
Но почему-то у меня ваш код не правильный результат выдает.
Тогда подробнее: ОС название + версия, Python версия? Проверьте, может скопировали, да потом ошибку внесли?
На скрине в консоли то же самое
0
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
28.08.2018, 15:58  [ТС]
easybudda

и в строке 5 не понятно, что за ключевое слово yield
0
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
28.08.2018, 16:00  [ТС]
easybudda, работает.
Миниатюры
Простейшие операции с циклами  
0
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
28.08.2018, 16:34  [ТС]
Artur_1309, у меня ошибка в коде. Две последние строки должны быть с одинаковым отступом.
Цикл for я решила применить для этой же цели повторно, чтоб поупражняться, и лучше изучить и понять python.

Добавлено через 6 минут
Vigi, спасибо большое, ваш код правильный.
Извините за смайлик, но по-моему он прикольный.
что у вас обозначает _ во второй строке?
0
 Аватар для Vigi
641 / 481 / 179
Регистрация: 28.05.2012
Сообщений: 1,419
28.08.2018, 17:33
Цитата Сообщение от Muriam Посмотреть сообщение
что у вас обозначает _ во второй строке?
можно ставить данный символ, если в теле цикла не будет используется переменная цикла.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
28.08.2018, 19:28
Цитата Сообщение от Muriam Посмотреть сообщение
Объясните мне, пожалуйста, строки 6 и 8.
Цитата Сообщение от Muriam Посмотреть сообщение
и в строке 5 не понятно, что за ключевое слово yield
В python3 есть оператор целочисленного деления //, а оператор //= короткая форма от
Python
1
start = start // divider
yield - оператор выдающий по одному значению на каждый вызов
Почитайте тут например: https://habr.com/post/132554/

Суть последних 3 строк в следующем: этот файл можно использовать в другом скрипте:
Python
1
2
3
4
5
6
#!/usr/bin/env python3
 
from div_range import div_range
 
for x in div_range(300, 10, 3):
    print(x)
Code
1
2
3
4
5
[andrew@andrew numbers]$ ./test_dr.py 
300
100
33
11
а можно запустить сам по себе и тогда он тестовый пример выдаст.
0
Evg
28.08.2018, 21:18

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
Суть последних 3 строк в следующем
"Чего только не придумают, лишь бы не ехать на картошку" (c)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2018, 21:18
Помогаю со студенческими работами здесь

Простейшие вычисления и операции
Форумчане доброго вечера! С новым годом! :drink: Прошу помощи по маткаду, задание пустяковое, но с моими кривыми руками и этого не...

Процедура выполняющая простейшие арифметические операции
Как разработать процедуру (и вспомогательную программу) которая будет выполнять выполняющую простейшие арифметические операции, так что бы...

Разработать процедуру (простейшие арифметические операции)
Разработать процедуру (и вспомогательную программу) выполняющую простейшие арифметические операции. Исходные данные вводятся как параметры...

Реализовать 4 функции на простейшие арифметические операции (+,-, *, /)
Начал изучать указатели. Вошёл туго. Очень хочу разобраться самостоятельно, но задачи сдавать тоже нужно. Прошу помощи в решении задачи. ...

Разработать программу, выполняющую простейшие арифметические операции.
Разработать вспомогательную программу) выполняющую простейшие арифметические операции. Исходные данные вводятся как параметры переменных...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru