Решение модуля 5.4 Добрый, добрый Python

Модуль 5.4 Примеры работы оператора цикла for. Функция enumerate.

Вводится строка. Необходимо найти все индексы фрагмента «ра» во введенной строке. Вывести в строку через пробелы найденные индексы. Если этот фрагмент ни разу не будет найден, то вывести значение -1.

text = input().lower()     # Получаю строку и перевожу все символы в нижний регистр
res_count = 0              # Сюда буду записывать индексы

if 'ра' in text:           # Проверяю есть ли вообще в переданном тексте сочетание букв 'ра', если нет то работа программы не имеет смысла
    for i in range(0, text.count('ра')): # Перебираю текст циклом для нахождения всех индексов, text.count('ра')
        # - вернет сколько раз встречается 'ра' в тексте, чтобы цикл не делал лишней итерации
        if 'ра' in text:   # Проверяю есть ли в переданном тексте сочетание букв 'ра', для вывода индекса
            res_count = text.find('ра', res_count if i == 0 else res_count + 1) # Если нахожу сохраняю в переменную, res_count + 1 использую
            # для дальнейшего прохода, иначе будет находить все время одни и тот же индекс.
            print(res_count, end=' ')     # Вывожу результат
else:
    print('-1')     # проверка не пройдена возвращаю -1

Вводится строка с номером телефона. Ожидается формат ввода:

+7(xxx)xxx-xx-xx

где x — это цифра. Размер введенных символов считается верным (то есть, не может быть, чтобы отсутствовала какая-либо цифра или была лишняя). Необходимо проверить, что введенная строка соответствует этому формату. Вывести ДА, если соответствует и НЕТ — в противном случае.

#     создаём пустой список проверки checked в который будут заноситься ответы на условия
checked, p = list(), input()
#     16 символов? 7ка всегда обязана быть первым индексом в форме телефона. True/False
checked.append(len(p) == 16 and p[1] == '7')
#     собираем строку служебных символов и проверяем точное соответсвие. True/False
checked.append(p[0] + p[2] + p[6] + p[10] + p[13] == '+()--')
#     игнорируем ранее проверенные индексы, всё что осталось цифры, True/False на каждый индекс
[checked.append(True if symbol in '0123456789' else False)
 for index, symbol in enumerate(p)
 if index in (3, 4, 5, 7, 8, 9, 11, 12, 14, 15)]
#      если все ответы True в списке то ДА, если хоть один False то НЕТ.
print('ДА' if all(checked) else 'НЕТ')

В виде строки записано арифметическое выражение, например:

«10 + 25 — 12»

или

«10 + 25 — 12 + 20 — 1 + 3»

и т. д. То есть, количество действий может быть разным.

Необходимо выполнить вычисление и результат отобразить на экране. Полагается, что в качестве арифметических операций здесь используется только сложение (+) и вычитание (-), а в качестве операндов — целые неотрицательные числа. Следует учесть, что эти операторы могут быть записаны как с пробелами, так и без них

first_operation = input()         # Получаю начальные данные
str_middle = first_operation.replace('+', ' ').replace('-', ' ')  # Делаю строку из цифр разделяют ее пробелами
list_number = list(str_middle.split())  # Делаю список из чисел
sign_list = []                    # Делаю список

for i in first_operation:         # Выбираю знаки сложения и вычитания
    if i == '+' or i == '-':
        sign_list.append(i)       # Сохраняю их в список знаков

result = int(list_number[0])      # Сохраняю первое число в переменную  result

for i in range(0, len(list_number) - 1): # Сохраняю первое число в переменную  result
    if sign_list[i] == '+': 
        result = result + int(list_number[i + 1]) # Суммирую
    else:
        result = result - int(list_number[i + 1]) # Вычитаю

print(result)

водится список в виде целых чисел в одну строку через пробел. Необходимо сначала сформировать список на основе введенной строки, а затем, каждое значение этого списка изменить, возведя в квадрат. Отобразить результат на экране в виде строки полученных чисел, записанных через пробел. Программу следует реализовать с использованием функции enumerate.

# Сохраняем в список
numbers_list = list(map(int, input().split()))
# enumerate возвращает индекс и значение
for index, value in enumerate(numbers_list): # Сохраняем в список  и перебираем его с помощью enumerate
    numbers_list[index] = value ** 2 # Возводим в степень

print(*numbers_list)

Вводится список в виде целых чисел в одну строку через пробел. Сначала нужно сформировать список из введенной строки. Затем, каждый элемент этого списка продублировать один раз. Результат отобразить на экране в виде строки полученных чисел, записанных через пробел.

# Сохраняем в список
numbers_list = list(map(str, input().split()))
string = ''     # Делаем пустую строку

for index, value in enumerate(numbers_list):  # Сохраняем в список  и перебираем его с помощью enumerate
    string += value + ' ' + value + " "       # Ставлю два значения через пробел на каждой итерации

print(string)

Вводится список в виде вещественных чисел в одну строку через пробел. С помощью цикла for необходимо найти наименьшее значение в этом списке. Полученный результат вывести на экран.  Реализовать программу без использования функции min, max и сортировки.

numbers_list = list(map(float, input().split())) # Сохраняем в список
number = numbers_list[0]    # Сохраняю первое число в переменную

for value in numbers_list:  # Сохраняю первое число в переменную
    if number > value:      # Если значение меньше числа то сохраняю его в число 
        number = value 
    else:
        continue

print(number)

Вводится список в виде вещественных чисел в одну строку через пробел. Сначала нужно сформировать список из введенной строки. Затем, все отрицательные значения в этом списке заменить на -1.0. Результат вывести на экран в виде строки чисел через пробел. Программу следует реализовать с использованием функции enumerate.

numbers_list = list(map(float, input().split())) # Сохраняем в список

for index, value in enumerate(numbers_list): # Сохраняю первое число в переменную
    if value < 0:     # Если значение меньше 0
        numbers_list[index] = -1.0 # numbers_list[index] = -1.0 
    else:
        continue

print(*numbers_list)  # Вывожу результат в консоль

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

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x