Решение модуля 11.7 из курса «Поколение Python: для начинающих»

Корректные ответы и решения урока под курс «Поколение Python: курс для начинающих». Прежний урок 11.6.

Как записывается списочное выражение?

[выражение for переменная in последовательность]

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

# Оригинальный список ключевых слов
keywords = ['False', 'True', 'None', 'and', 'with', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'try', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'while', 'yield']

# Создаем новый список new_keywords, в котором у каждой строки отбрасываем первый символ
new_keywords = [s[1:] for s in keywords]

# Выводим новый список
print(new_keywords)

Дополните приведенный код, используя списочное выражение, так чтобы получить новый список, содержащий длины строк исходного списка.

keywords = ['False', 'True', 'None', 'and', 'with', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'try', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'while', 'yield']

# Создаем новый список, содержащий длину каждой строки из оригинального списка
lengths = [len(i) for i in keywords]

# Выводим новый список, содержащий длины строк
print(lengths)

Дополните приведенный код списочным выражением, чтобы получить новый список, содержащий только слова длиной не менее пяти символов (включительно).

keywords = ['False', 'True', 'None', 'and', 'with', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'try', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'while', 'yield']

# Создаем новый список new_keywords, в котором оставляем только строки с длиной >= 5
new_keywords = [s for s in keywords if len(s) >= 5]

# Выводим новый список
print(new_keywords)

Дополните приведенный код, используя списочное выражение, так чтобы получить список всех чисел палиндромов от 100 до 1000.

# В генераторе списка проверяется, является ли строковое представление числа i равным его обратному строковому представлению (перевернутому). Если да, то число i добавляется в список palindromes. Таким образом, список palindromes будет содержать все палиндромы в заданном диапазоне.
palindromes = [i for i in range(100, 1001) if str(i) == str(i)[::-1]]

# Выводим список палиндромов
print(palindromes)

Списочное выражение 1
На вход программе подается натуральное число n. Напишите программу, использующую списочное выражение, которая создает список содержащий квадраты чисел от 1 до n, а затем выводит его элементы построчно, то есть каждый на отдельной строке.

Решение модуля 11.7 из курса «Поколение Python: для начинающих»
# Получаем число n и преобразуем его в целое число
n = int(input())

# Создаем список, содержащий квадраты чисел от 1 до n
squares = [i ** 2 for i in range(1, n + 1)]

# Используем * перед списком и указываем sep='\n' для вывода каждого элемента на новой строке
print(*squares, sep='\n')

Списочное выражение 2
На вход программе подается строка текста, содержащая целые числа. Напишите программу, использующую списочное выражение, которая выведет кубы указанных чисел также на одной строке.

Решение модуля 11.7 из курса «Поколение Python: для начинающих»
# Получаем строку и делаем из нее список
n = input().split()

# Получаем новый список чисел возведеных в 3 степень
s = [int(i) ** 3 for i in n]

# Выводим результат
print(*s)

В одну строку 1
На вход программе подается строка текста, содержащая слова. Напишите программу, которая выводит слова введенной строки в столбик.

Решение модуля 11.7 из курса «Поколение Python: для начинающих»
# получаем строку и разбиваем её на слова, создавая список
s = input().split()

# Используем * перед списком и указываем sep="\n" для вывода каждого слова на отдельной строке
print(*s, sep="\n")

В одну строку 2
На вход программе подается строка текста. Напишите программу, использующую списочное выражение, которая выводит все цифровые символы данной строки.

Решение модуля 11.7 из курса «Поколение Python: для начинающих»
print(*(i for i in input() if i.isdigit()), sep="")

В одну строку 3
На вход программе подается строка текста, содержащая целые числа. Напишите программу, использующую списочное выражение, которая выведет квадраты четных чисел, которые не оканчиваются на цифру 4.

Решение модуля 11.7 из курса «Поколение Python: для начинающих»
# однострочный
print(*[int(i) ** 2 for i in input().split() if int(i) % 2 == 0 and int(i) ** 2 % 10 != 4])

'''
Для понимания обычный вариант
n = input().split()
num = []
for j in n:
    if int(j) % 2 == 0:
        s = int(j) ** 2
        if s % 10 != 4:
            num.append(s)
print(*num)
'''

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

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

3 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Maksim
Maksim
4 лет назад

Можно спросить, что означает in «046» в последнем задании?

Polya
Polya
Ответить на  Maksim
4 лет назад

Там по условию нужно вывести квадраты ЧЕТНЫХ чисел не оканчивающихся на 4. Любое четное число заканчивающееся на 2 при возведении в квадрат даст четвёрку в конце (2×2=4, 12×12=144). То же самое с 8, любое число с 8 на конце, при возведение в квадрат даст 4 (8×8=64, 18×18 = 324). Получается из четных цифер подходят все остальное, кроме 2 и 8, а все остальные четные цифры это 0, 4 и 6.
То есть мы отсеиваем ещё в самом начале, нам не нужно возводить число в квадрат чтобы проверять последнюю цифру, если мы заранее знаем какие последние цифры в возводимых числах дадут четвёрку в конце полученного квадрата :)

Поля
Поля
Ответить на  Maksim
4 лет назад

Из всех четных цифер (0, 2, 4, 6, 8) только 0 4 и 6 не дают четвёрку на конце. Любое число заканчивающееся на 2 или 8 при возведение в квадрат выдаст 4 последней цифрой. Удобно просто откинуть лишнее сходу, не возводя в квадрат и проверяя все, а заранее, просто зная такие свойства

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