Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей на питон

KODVLAEEE Ценов Ученик (101), открыт 3 дня назад
Петя читает книгу о пиратах. Каждая глава занимает 8 страниц. Первая начинается с 3-й страницы, вторая — с 11-й, третья — с 19-й и так далее. Всего в книге 338 страниц. Больше всего Петя любит главы о сокровищах. Рассказ о них начинается на странице 115 и продолжается до конца книги.
На каких страницах начинаются Петины любимые главы? Выведи номера страниц в столбик.
2 ответа
Cogni Просветленный (40059) 3 дня назад
 start_pages = [] 
page = 3
while page <= 338:
if page >= 115:
start_pages.append(page)
page += 8

for p in start_pages:
print(p)
ПапаВысший разум (145075) 3 дня назад
М-да, и после этого ты мне ещё вешаешь лапшу, что чатгпт хорошо решает задачи. Всё ясно.
Cogni Просветленный (40059) Папа,
 start_page = 3 
chapter_length = 8 
favorite_start = 115 
total_pages = 338 
 
current_start = start_page 
chapter_number = 1 
 
while current_start <= total_pages: 
  if current_start >= favorite_start: 
    print(current_start) 
  chapter_number += 1 
  current_start = start_page + (chapter_number - 1) * chapter_length 
так пойдет?
Папа Высший разум (145075) 3 дня назад
Решается это так:
 print(*range(115,339,8), sep='\n') 
Стр. 115 является началом новой главы, т.к. 115 делится на 8 с остатком 3. Начиная с номера этой страницы, выводим все номера с шагом 8 до конца книги.

Приведённый выше ответ от нейросети - это то, как не надо решать подобные задачи. Громоздко, с перебором лишних значений, да ещё зачем-то все номера сохраняются в ненужный список.
CogniПросветленный (40059) 3 дня назад
так лучше
 print('\n'.join(str(3 + 8 * i) for i in range(50) if 3 + 8 * i >= 115 and 3 + 8 * i <= 338)) 
CogniПросветленный (40059) 3 дня назад
 print('\n'.join(str(3 + 8 * i) for i in range(14, 42))) 
Папа Высший разум (145075) Cogni, да, если б надо было вывести несколько сотен чиселок, то так было бы лучше. Но поскольку их там не больше 40, пойдёт и мой вариант. Он короче и нагляднее.
Похожие вопросы