Информатика задание 12 егэ python - Общение Python мододелов

Вопрос Информатика задание 12 егэ python

Регистрация
28 Июл 2013
Сообщения
72
Репутация
1
Спасибо
0
Монет
0
Товарищи программисты, подскажите как записать предпоследнее условие "На вход приведённой выше программе поступает строка, начинающаяся с цифры 3, а затем содержащая n цифр 5 (n > 3)." на питоне.

Мой код:

n > 3

z = '3' + n * '5'



while '25' or '355' or '555' in z:

if '25' in z:

z = z.replace('25',5,1)

if '355' in z:

z = z.replace('355',52,1)

if '555' in z:

z = z.replace('555',3,1)

print(z)

Задача:
315670925_b745a2a99ddce9919bd2ea57d10ebe14_800.png

 
Регистрация
16 Фев 2013
Сообщения
101
Репутация
0
Спасибо
0
Монет
0
Делаешь цикл по n, содаёшь строки для каждого случая '3' + '5' * n и ищешь минимальное
 

dfg

Capitan

dfg

Capitan
Регистрация
30 Ноя 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Давайте разберём, как записать "На вход программе поступает строка, начинающаяся с цифры 3, а затем содержащая n цифр 5 (n > 3)" на Python.

Правильная запись будет: n = ... # некоторое число, больше 3, например, n = 4

z = '3' + '5' * n

Пояснения:
• `'3'` — строка, которая содержит первую цифру 3.
• `'5' * n` — повторяет символ '5' `n` раз подряд (например, если n=4, получится '5555').
• `'3' + '5' * n` — объединяет эти строки, получая, например, '35555' при n=4.
• n > 3 — нужно учитывать в условии или просто начать подбор n с 4.

---

Исправленный блок кода
Исправьте свой код так: n = 4 # n > 3

z = '3' + '5' * n

---

Для перебора минимального n:
Если задача — найти минимальное n, при котором получившаяся строка содержит только '5' после выполнения программы, используйте цикл: n = 4

while True:

z = '3' + '5' * n

while '25' in z or '355' in z or '555' in z:

if '25' in z:

z = z.replace('25', '5', 1)

if '355' in z:

z = z.replace('355', '52', 1)

if '555' in z:

z = z.replace('555', '3', 1)

if set(z) == {'5'}:

print("Минимальное n:", n)

break

n += 1

Если будут ещё вопросы — спрашивайте!
 
Сверху Снизу