Множества. Методы. Часть 1
Методы множеств
Как можно добавить значение нового элемента item в уже существующее множество myset?
Ответ: myset.add(item)
Что может быть выведено в результате выполнения следующего кода?:
myset = {'Yellow', 'Orange', 'Black'} myset.add('Blue') myset.add('Orange')
print(myset)
Ответ: {'Blue', 'Orange', 'Yellow', 'Black'}
Выберите все способы, позволяющие удалить только элемент Orange из множества myset:
myset = {'Yellow', 'Orange', 'Black'}
Ответ: myset.discard('Orange'); myset.remove('Orange')
В чем разница между методами множеств discard() и remove()?
Ответ: метод remove() вызывает исключение если элемент не найден в множестве
Какая строка кода приведет к возникновению ошибки?:
my_set = {'a', 'b', 'c'} my_set.discard('a') # 1 my_set.discard('a') # 2 my_set.remove('b') # 3 my_set.remove('b') # 4
Ответ: 4
Что будет выведено в результате выполнения следующего кода?:
myset = {'python'} item = myset.pop()
print(item, len(myset))
Ответ: python 0
Что может быть выведено в результате выполнения следующего кода?:
myset = set('python') item = myset.pop()
print(item, len(myset))
Ответ: p 5
Что будет выведено в результате выполнения следующего кода?:
myset = set() item = myset.pop()
print(item)
Ответ: ошибка во время выполнения
Что будет выведено в результате выполнения следующего кода?:
myset = set()
for i in range(10): if i % 2 == 0: myset.add('even') else: myset.add('odd')
print(len(myset))
Ответ: 2
Напишите программу для вывода количества уникальных символов каждого считанного слова без учета регистра.
На вход программе в первой строке подается число n – общее количество слов. Далее идут n строк с словами.
Программа должна вывести на отдельной строке количество уникальных символов для каждого слова.
l = [] for _ in range(int(input())): l.append(len(set(input().lower()))) print(*l, sep='\n')
Напишите программу для вывода общего количества уникальных символов во всех считанных словах без учета регистра.
На вход программе в первой строке подается число n – общее количество слов. Далее идут n строк со словами.
Программа должна вывести одно число – общее количество уникальных символов во всех словах без учета регистра.
n = [input() for _ in range(int(input()))] l = [] for x in n: l += x.lower() print(len(set(l)))
Напишите программу для определения общего количества различных слов в строке текста.
n = input().lower() for x in n: if x in '.,:;-?!': n = n.replace(x, '') print(len(set(n.split())))
На вход программе подается строка текста, содержащая числа. Для каждого числа выведите слово YES (в отдельной строке), если это число ранее встречалось в последовательности или NO, если не встречалось.
n = [int(i) for i in input().split()] s = set() for x in n: if x not in s: print('NO') s.add(x) else: print('YES')
У каждой задачи на «Stepik» есть виджет с процентом верных решений и общим количеством решений. В последнее время у «Stepik» барахлит алгоритм, обновляющий этот виджет. Помогите «Stepik» и напишите программу, которая будет подсчитывать, сколько учеников решили задачу и сколько верных попыток составляет от общего числа попыток.
На вход вашей программе подается число n – общее число попыток решить задачу. Далее на вход подаются n строк, каждая в следующем формате: <никнейм>: <результат проверяющей системы> где <результат проверяющей системы> может принимать только два значения: Correct (задача решена верно) или Wrong (задача решена неверно).
Ваша программа должна посчитать и вывести, сколько учащихся решили верно задачу и сколько верных попыток из всех в следующих форматах:
- Верно решили <количество верно решивших учащихся> учащихся
- Из всех попыток <процент верных решений>% верных
где <количество верно решивших учащихся> – количество уникальных учащихся, которые верно решили задачу.
При этом если у задачи еще нет верных отправок решений, то программа должна вывести текст: Вы можете стать первым, кто решит эту задачу.
n = int(input()) m = set() c_0 = 0 c_c = 0 for i in range(n): s = input().split(': ') c_0 = c_0 + 1 if 'Correct' in s: m.add(str(s)) c_c = c_c + 1 if c_c == 0: print('Вы можете стать первым, кто решит эту задачу') else: print('Верно решили', len(m), 'учащихся') print('Из всех попыток ', int(c_c / c_0 * 100 + 0.5), '%', ' верных', sep='')