Предмет: Информатика, автор: nepon007

3. Что будет напечатано, если пользователь введет строку “Код=12345”:

s = input(“Введите, пожалуйста, строку: ”)
if s[3] == “=”:
if s[5:7] == “34”:
print(“Ok!”)
else:
print(“Error!”)
else:
print(“None”)

Ответы

Автор ответа: Nbody231
1

Ответ:

Программа выведет "Error!".

Объяснение:

s[3] - это операция доступа к элементу строки с индексом 3. Поскольку в языках программирования счёт начинается с нуля (т.е. 0,1,2,3...), то s[3] выдаст нам 4 по счёту элемент. В данной строке это элемент "=".

Проверка s[3] == "=" выдаёт true, и программа переходит внутрь if-оператора.

! Если бы проверка s[3] == "=" не выполнилась бы, например строка имела бы вид "Код1234", (т.е. s[3] == "=" здесь выдаст false), то программа перешла бы внутрь блока else, и получился бы вывод "None". !

Далее внутри этого if-оператора есть ещё одна проверка, а именно if s[5:7] =="34". s[5:7] это также оператор доступа к элементам строки, но в этом случае мы получаем не один символ, а не сколько (такая операция называется слайсинг, или срезка от англ.slice). В Python при такой срезке указывается начальный и конечный индекс, который мы хотим получить. НО следует помнить, что в таком случае начальный индекс попадает в результат, а конечный - нет.

Поэтому если мы пытаемся получить s[5:7], то мы получим 5, 6, но не 7 по счёту элементы.

В данном случае s[5:7] выдаст "23", что не проходит проверку s[5:7] == "34", и программа перейдет в блок else, в котором происходит вывод строки "Error!"

Похожие вопросы
Предмет: Русский язык, автор: Аноним
Предмет: Математика, автор: Помогите1плез