Решение модуля 6.4 Добрый, добрый Python

Модуль 6.4 Множества (set) и их методы.

Выберите все пункты, в которых верно задается множество.

{1, 1, 5, 5, True, 1}
set()
set([1, 2, 3, 2, 1])

Выберите все пункты, которые справедливы для множеств.

неупорядоченная коллекция данных
относится к изменяемому типу данных
может хранить только данные неизменяемых типов

Вводятся вещественные числа в одну строчку через пробел. Необходимо на их основе сформировать множество s.

Подсказка: множество можно создать по аналогии со списком: 

list(map(float, <список из строк чисел>))

Вывести на экран значения множества s в порядке возрастания в одну строчку через пробел, используя команду:

print(*sorted(s))

P. S. О функции sorted мы еще будем говорить, а также об операторе *. Пока просто запомните такую возможность сортировки и вывода произвольных коллекций на экран.

num = set(map(float, input().split())) # с помощью input().split() получаю строку и разделяю ее по пробелу.
# С помощью float каждое полученное значение преобразую к вещественное число
# Все что получил упаковываю в множество с помощью функции set()

print(*sorted(num)) # Вывожу значения в консоль предварительно их отсортировав

Вводится текст в одну строку, слова разделены пробелом. Необходимо подсчитать число уникальных слов (без учета регистра) в этом тексте. Результат (число уникальных слов) вывести на экран.

print(len(set(map(str.lower, input().split()))))
#Здесь "str.lower" это функция которая применяется к каждому элементу последовательности  и преобразует в нижний регистр. Согласен, что можно и без "map" всё сделать "input().lower().split()" но зато с помощью этого решения можно понять как работает функция "map"

 Вводится строка, содержащая латинские символы, пробелы и цифры. Необходимо выделить из нее все неповторяющиеся цифры (символы от 0 до 9) и вывести на экран в одну строку через пробел их в порядке возрастания значений. Если цифры отсутствуют, то вывести слово НЕТ.

num = {int(value) for value in input() if value.isdigit()} # в получаемой строке с помощью input()
# if value.isdigit() проверяю является ли значение - числом, если да преобразуем его  в целочисленный тип и сохраняю в переменную num

print(*sorted(num)) if sorted(num) else print('НЕТ') # Вывожу значения в консоль предварительно их отсортировав

В ночном клубе фиксируется список гостей. Причем гости могут выходить из помещения, а затем, снова заходить. Тогда их имена фиксируются повторно. На вход программы поступает такой список (каждое имя записано с новой строки). Требуется подсчитать общее число гостей, которые посетили ночной клуб. Полагается, что гости имеют уникальные имена. На экран вывести общее число гостей клуба.

P. S. Для считывания списка целиком в программе уже записаны начальные строчки.

import sys

# считывание списка из входного потока сразу запаковываю в set()
set_in = set(map(str.strip, sys.stdin.readlines())) 

# здесь продолжайте программу (используйте список lst_in)
print(len(set_in)) # Вывожу количество элементов в set_in

В аккаунте youtube Сергея прокомментировали очередное видео. Некоторые посетители оставляли несколько комментариев. Требуется по списку комментариев определить уникальное число комментаторов. Комментарии поступают на вход программы в формате:

имя 1: комментарий 1
имя 2: комментарий 2

имя N: комментарий N

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

P. S. Для считывания списка целиком в программе уже записаны начальные строчки.

import sys
# считывание списка из входного потока
lst_in = list(map(str.strip, sys.stdin.readlines()))

print(len(set([i.split(':')[0] for i in lst_in])))

Пользователь с клавиатуры вводит названия городов, пока не введет букву q. Определить общее уникальное число городов, которые вводил пользователь. На экран вывести это число. Из коллекций при реализации программы использовать только множества.

set_1 = set()             # Создаю пустое множество
while True:               # Циклом запрашиваю данные у пользователя до того как он введет "q"
    symbol = input()      # Запрашиваем данные у пользователя
    if symbol != 'q':     # Если не введен 'q' 
        set_1.add(symbol) # Добавляю данные к множеству с помощью метода add()
    else:
        break             # Выхожу из цикла

print(len(set_1))

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

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

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