Корректные ответы и решения урока под курс «Поколение 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, а затем выводит его элементы построчно, то есть каждый на отдельной строке.
# Получаем число n и преобразуем его в целое число
n = int(input())
# Создаем список, содержащий квадраты чисел от 1 до n
squares = [i ** 2 for i in range(1, n + 1)]
# Используем * перед списком и указываем sep='\n' для вывода каждого элемента на новой строке
print(*squares, sep='\n')
Списочное выражение 2 На вход программе подается строка текста, содержащая целые числа. Напишите программу, использующую списочное выражение, которая выведет кубы указанных чисел также на одной строке.
# Получаем строку и делаем из нее список
n = input().split()
# Получаем новый список чисел возведеных в 3 степень
s = [int(i) ** 3 for i in n]
# Выводим результат
print(*s)
В одну строку 1 На вход программе подается строка текста, содержащая слова. Напишите программу, которая выводит слова введенной строки в столбик.
# получаем строку и разбиваем её на слова, создавая список
s = input().split()
# Используем * перед списком и указываем sep="\n" для вывода каждого слова на отдельной строке
print(*s, sep="\n")
В одну строку 2 На вход программе подается строка текста. Напишите программу, использующую списочное выражение, которая выводит все цифровые символы данной строки.
print(*(i for i in input() if i.isdigit()), sep="")
В одну строку 3 На вход программе подается строка текста, содержащая целые числа. Напишите программу, использующую списочное выражение, которая выведет квадраты четных чисел, которые не оканчиваются на цифру 4.
# однострочный
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)
'''
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Понравилась статья? Поделиться с друзьями:
Подписаться
3 комментариев
Новые
СтарыеПопулярные
Межтекстовые Отзывы
Посмотреть все комментарии
Maksim
4 лет назад
Можно спросить, что означает in «046» в последнем задании?
Там по условию нужно вывести квадраты ЧЕТНЫХ чисел не оканчивающихся на 4. Любое четное число заканчивающееся на 2 при возведении в квадрат даст четвёрку в конце (2×2=4, 12×12=144). То же самое с 8, любое число с 8 на конце, при возведение в квадрат даст 4 (8×8=64, 18×18 = 324). Получается из четных цифер подходят все остальное, кроме 2 и 8, а все остальные четные цифры это 0, 4 и 6. То есть мы отсеиваем ещё в самом начале, нам не нужно возводить число в квадрат чтобы проверять последнюю цифру, если мы заранее знаем какие последние цифры в возводимых числах дадут четвёрку в конце полученного квадрата
Из всех четных цифер (0, 2, 4, 6, только 0 4 и 6 не дают четвёрку на конце. Любое число заканчивающееся на 2 или 8 при возведение в квадрат выдаст 4 последней цифрой. Удобно просто откинуть лишнее сходу, не возводя в квадрат и проверяя все, а заранее, просто зная такие свойства
wpDiscuz
3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Можно спросить, что означает in «046» в последнем задании?
Там по условию нужно вывести квадраты ЧЕТНЫХ чисел не оканчивающихся на 4. Любое четное число заканчивающееся на 2 при возведении в квадрат даст четвёрку в конце (2×2=4, 12×12=144). То же самое с 8, любое число с 8 на конце, при возведение в квадрат даст 4 (8×8=64, 18×18 = 324). Получается из четных цифер подходят все остальное, кроме 2 и 8, а все остальные четные цифры это 0, 4 и 6.
То есть мы отсеиваем ещё в самом начале, нам не нужно возводить число в квадрат чтобы проверять последнюю цифру, если мы заранее знаем какие последние цифры в возводимых числах дадут четвёрку в конце полученного квадрата
Из всех четных цифер (0, 2, 4, 6,
только 0 4 и 6 не дают четвёрку на конце. Любое число заканчивающееся на 2 или 8 при возведение в квадрат выдаст 4 последней цифрой. Удобно просто откинуть лишнее сходу, не возводя в квадрат и проверяя все, а заранее, просто зная такие свойства