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

Модуль 5.10 (Генераторы списков Python). Генераторы списков представляют собой очень мощный и удобный функционал, позволяющий создать список и сразу наполнить его определенными значениями. И главный плюс генератора списка в том, что он умещается всего лишь в одну строчку.

Генераторы списка строятся по следующему шаблону:

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

Ниже представлены примеры задач с решением на тему Генераторы списков.

При помощи генератора-списка сохраните в переменной zeroes список из 100 нулей.

Выводить ничего не нужно, только правильно заполните список в переменной zeroes 

zeroes = [*[0] * 100]

При помощи генератора-списка создайте список [1, 2, 3, ..., n], само натуральное число n будет поступать на вход вашей программе.

В качестве ответа просто выведите получившийся список

n = int(input());
data = [i for i in range(1, n+1)]
print(data)

На вход программе подается натуральное число n (n<=1000). При помощи list comprehension создайте список, состоящий из делителей введенного числа.

a = int(input())
a = [i for i in range(1,a+1) if a%i==0]
print(a)

При помощи list comprehension создайте список, состоящий из нечетных натуральных чисел в интервале [ nn; n^2n2 ] и вывести его на экран. Само число nn поступает на вход программе

n= int(input())
number_list = []

for i in range(n, n*n+1):
    if i % 2 != 0:
        number_list.append(i)

print(number_list)

Программа принимает на вход два целых числа a и b.

Если a<=b необходимо сформировать список квадратов целых чисел на интервале от а до b включительно и вывести его на экран.

Если же a>b, необходимо сформировать список кубов целых чисел на интервале от a до b включительно, двигаясь в порядке убывания, и затем вывести его.

Не забывайте пользоваться генератором списков 

a,b = map(int,input().split())
print([i**2 if a<=b else i**3 for i in (range(a,b+1) if a<=b else range(a, b - 1, -1))])

Создайте список первых букв каждого слова из строки st и выведите его на экран
st = ‘Create a list of the first letters of every word in this string’

st = 'Create a list of the first letters of every word in this string'
st = [i[0] for i in st.split()]

print(st)

При помощи list comprehension создайте список, состоящий из первых n заглавных букв английского алфавита ['A', 'B', 'C', 'D', ...]. Получить все заглавные буквы английского алфавита можно следующим образом:

from string import ascii_uppercase print(ascii_uppercase) # выведет строку ABCDEFGHIJKLMNOPQRSTUVWXYZ

from string import ascii_uppercase

n = int(input())

print([j[i] for i in range(n) for j in ascii_uppercase.split()])

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

[‘A’, ‘BB’, ‘CCC’, ‘DDDD’, ‘EEEEE’, ‘FFFFFF’, …]
from string import ascii_uppercase
n = int(input())
print([ascii_uppercase[x - 1]*x for x in range(1, n + 1)])

При помощи генератора-списков создайте список, состоящий из слов,  начинающихся с буквы ‘t’ или ‘T’. Слова возьмите из переменной phrase, также не забывайте про метод split()

В качестве ответа выведите полученный список, слова в нем должны стоять в том же порядке, в котором они стояли в изначальной фразе

phrase = 'Take only the words that start with t in this sentence'

a: list = [i for i in phrase.split() if i[0] == "T" or i[0] == "t"]
print(a)
Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

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

;-)
Просто не останавливайся.

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