Решение модуля 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 = [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']

print([len(i) for i in 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']

new_keywords = [s for s in keywords if len(s) >= 5]

print(new_keywords)

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

palindromes = [i for i in range(100, 1001) if str(i) == str(i)[::-1]]

print(palindromes)

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

Формат входных данных
На вход программе подается натуральное число.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание. Для вывода элементов списка используйте цикл for.

print(*[i ** 2 for i in range(1, int(input()) + 1)], sep='\n')

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

Формат входных данных
На вход программе подается строка текста, содержащая целые числа, разделенные символом пробела.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание 1. Для вывода элементов списка используйте цикл for.

Примечание 2. Используйте метод split().

print(*[int(i) ** 3 for i in input().split()])

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

Формат входных данных
На вход программе подается строка текста, содержащая слова, разделенные символом пробела.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание. Программу можно написать в одну строку кода.

print (*input().split(),sep='\n')

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

Формат входных данных
На вход программе подается строка текста.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание. Программу можно написать в одну строку кода.

print(*(i for i in input() if i.isdigit()), sep="")

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

Формат входных данных
На вход программе подается строка текста, содержащая целые числа, разделенные символом пробела.

Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Примечание. Программу можно написать в одну строку кода.

print(*[int(i) ** 2 for i in input().split() if i[-1] in "046"])

Понравилась статья? Поделиться с друзьями:
Комментарии: 3
  1. Maksim

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

    1. Polya

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

    2. Поля

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

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector