Решение модуля 5.3 Инди-курс программирования на Python

Модуль 5.3 (Цикл for. Обход списков и строк).

Ниже представлены примеры задач с решением на тему Цикл for. Обход списков и строк.

Ваша задача создать список из n строк. Программа сперва будет принимать натуральное число n, а затем n строк в каждой отдельной строке. В качестве ответа выведите получившийся список.

n = int(input())     # количество строк
k = []               # новый пустой список 

for i in range(n):
    m = input()      # получаем следующую строку
    k.append(m)      # добавляем его в список
    
print(k)

Входные данные

На первой строке вводится один символ — строчная буква.
На второй строке вводится предложение.

Выходные данные

Нужно вывести список слов (словом считается часть предложения, окружённая символами пустого пространства), в которых присутствует введённая буква в любом регистре, в том же порядке, в каком они встречаются в предложении.

symbol = input()                 # символ для поиска
sentence = list(input().split()) # Предложение делим на слова
g = len(sentence)                # Получаем длину списка

for i in range(g):               # Цикл по списку
    if symbol in sentence[i]:    # Если символ нашли в слове то выводим его
        print(sentence[i])       

На вход программе поступает список из целых чисел. Ваша задача найти в данном списке наименьшее положительное значение. В случае, если положительных значений нет, выведите строку «Empty»

# Получаем список чисел в одну строку через пробел
nums = list(map(int, input().split()))
# Создаем пустой список для нужных чисел
valid_nums = []
# получаем числа больше 0 и кладем в новый список
for i in nums:
    if i > 0:
        valid_nums.append(i)
# Если новый список пустой выводим Empty
if len(valid_nums) == 0:
    print('Empty')
else:
    # Выводим на экран минимальное число
    print(min(valid_nums))

Напишите программу, которая находит рекордное количество вхождений (не обязательно подряд) символа в строку.

x=list(input().lower())  # делаем из слова список букв
y=[]                     # пустой список для количества символов
for i in x:              # цикл по списку букв в строке
    y.append(x.count(i)) # считаем количество текущей буквы в списке
print(max(y))            # находим и выводим максимальное число

Для делимости числа на 11 необходимо, чтобы разность между суммой цифр, стоящих на четных местах, и суммой цифр, стоящих на нечетных местах, делилась на 11.

Требуется написать программу, которая проверит делимость заданного числа на 11.

Входные данные

Программа получает на вход одно натуральное число N, делимость которого надо проверить (1 ≤ N ≤ 1010000).

Выходные данные

Выведите “YES”, если число делится на 11, или “NO” иначе.

l=list(map(int,input()))        # преобразуем число в список 
chet=0
nechet=0          

for i in range(len(l)):  
    if (i)%2==0:        
        chet+=l[i]    # cчитаем суммы четных
    else:
        nechet+=l[i]  # и нечетных разрядов числа
        
if (nechet-chet)%11==0: # условие по свойству делимости 
    print('YES')
else:    
    print('NO')

На вход программе поддается строка, а ваша задача определить сколько символов в данной строке являются цифрами и также найти сумму всех этих цифр. Например, в строке «Комната 1408» содержится 4 цифры и их сумма равна 13.

В качестве ответа необходимо через пробел вывести 2 числа — количество цифр в введенной строке и их сумма

s = input()
sum = 0                # сумма цифр
cnt = 0                # кол-во цифр
for i in (s):
    if ("0" <= i <= "9"): 
        sum += int(i)  #Считаем сумму 
        cnt += 1       #Считаем кол-во
    
print(cnt, sum)

Наша программа принимает на вход последовательность скобочных символов. Ваша задача определить является ли введенная скобочная последовательность правильной.

Правильная скобочная последовательность (ПСП) называется строка, состоящая только из символов «скобки», где каждой закрывающей скобке найдётся соответствующая открывающая (причём того же типа). При этом учитывайте, что:

— Пустая последовательность является правильной.
— Если A – правильная скобочная последовательность, то (A), [A] и {A} – правильные скобочные последовательности.
— Если A и B – правильные скобочные последовательности, то AB – правильная скобочная последовательность.
— Если введенная строка является ПСП, выведите YES, в противном случае — NO.

pairs = {'()', '[]', '{}'}     # список открывающихся и закрывающихся скобок
str = input().replace(' ', '') # получаем список и чистим его от пробелов

for _ in range(len(str)//2):   # полученную строку делим пополам т.к при нахождении удаляется сразу 2 символа
    for i in pairs:            # в цикле бежим по заготовленному списку скобок
        str = str.replace(i, '') # если нашли пару удаляем ее из строки
        
if len(str)==0:
    print('YES')
else:
    print('NO')
Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

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