else

Попробуем изменить функцию из предыдущего примера так, чтобы она возвращала не просто тип предложения, а целую строку Sentence is normal или Sentence is question.

def get_type_of_sentence(sentence):
    last_char = sentence[-1]

    if last_char == '?':
        sentence_type = 'question'
    else:
        sentence_type = 'normal'

    return "Sentence is " + sentence_type

print(get_type_of_sentence('Hodor'))   # => 'Sentence is normal'
print(get_type_of_sentence('Hodor?'))  # => 'Sentence is question'

Мы добавили else и новый блок. Этот блок выполнится, только если условие в if — ложь.

“Else” переводится «иначе», «в ином случае».

Задание

Реализуйте функцию normalize_url, которая выполняет так называемую нормализацию данных. Она принимает адрес сайта и возвращает его с https:// в начале.

Функция принимает адреса в виде АДРЕС или http://АДРЕС, но всегда возвращает адрес в виде https://АДРЕС. На вход функции также может поступить адрес в уже нормализованном виде https://АДРЕС, в этом случае ничего менять не надо.

Примеры вызова:

print(normalize_url('https://ya.ru'))  # => 'https://ya.ru'
print(normalize_url('google.com'))     # => 'https://google.com'
print(normalize_url('http://ai.fi'))   # => 'https://ai.fi'

Есть два пути решения:

  1. Можно сравнить первые 7 символов строки-аргумента со строкой http://.
  2. Можно использовать оператор in, чтобы проверить, содержится ли подстрока слева в строке справа. Используется он так:
print('cat' in 'Moscato')  # => True

А потом на основе этого добавлять или не добавлять https://.

Вам скорее всего потребуется отбросить ненужный кусок строки в начале оной. А помните, мы рассматривали способ получения кусочка от строки в её начале? Напоминаю:

# Берём 6 символов от начала
print('Winterfell'[:6])  # => 'Winter'

Так вот, можно отбросить те же самые 6 символов. Делается это так:

# Отбрасываем первые 6 символов
print('Winterfell'[6:])  # => 'fell'

Определения
  • else — способ задать блок кода, который будет выполнен, если условие с if не удовлетворено


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.