Что будет выведено на экран в результате выполнения инструкции print 2 a 8


Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required
1. Что будет выведено на экран в результате выполнения инструкции print (2, ‘a’, 8, sep =’, ‘)?

на екран. 2. Написати програму, яка визначить скільки всього потрібно сплатити покупцю за вказаний товар: хліб — 22 грн. масло — 50 грн. ковбаса — 120 … грн. Кількість товару вводиться з клавіатури. I
среднее арифметическое массива 2,5,13,7,6,4, код на JAva
задание по информатике
задание по информатике
Используя формулу из ячейки E3, были заполнены путем копирования ячейки E4, E5, и Е6. Вычисли результаты для этих ячеек. E3 1 2 3 Овощ 4 Овощ 5 Овощ 6 … фрукт A ⠀ Категория fx =ПРОИЗВЕД(С3;$D3) B Покупка овощей и фруктов Bec Наименование Цена за 1 кг 60 Т 65 T 80 T 350 T морковь Свекла картофель яблоко D 3 кг E Итого к оплате 180 T В диапазоне ячеек E4:E6 содержатся значения: 65 T, 80 Т, 350 T. в диапазоне ячеек Е4:E6 содержатся значения: 195 T, 240 T. 1050 T. В диапазоне ячеек E4:E6 содержатся значения: 0Т, О Т, ОТ. В диапазоне ячеек E4:E6 содержатся значения: 180 T, 180 T, 180 T.
Ввод и вывод данных в языке Pyton
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Ввод и вывод данных в языке Pyton оценка 3 — от 50% оценка 4 — от 70% оценка 5 — от 85%
Система оценки: 5* балльная
Список вопросов теста
Вопрос 1
Какие из операторов присваивания корректны? Выберите все допустимые варианты.
Варианты ответов
- 6 = 2+4
- e = 7
- 2summa = summa — min5
- su2ma = summa — min5
- х+ н = в
- a% = 5
- suma2 = summa — min5
- a = 7 — 7
Вопрос 2
Каков будет вывод данной программы, если на вход последовательно через перевод строки подать 5, 1, 3 и 4?
a = input() b = input() c = int(input()) d = int(input()) print(a + b, c + d)
Варианты ответов
Вопрос 3
Что будет выведено на экран в результате выполнения инструкции print(».format (3.1446))? При записи ответа вместо пробелов используйте нижние подчёркивания.
Вопрос 4
Что будет выведено на экран в результате выполнения инструкции print (2, ‘a’, 8)?
Варианты ответов
Вопрос 5
Данные какого типа по умолчанию испольуются при применении функция input ()?
Варианты ответов
- строковый
- логический
- целочисленный
- вещетвенный
Вопрос 6
Чтобы ввести с клавиатуры дробное число, используется конструкция
Варианты ответов
- n = float (input ())
- u = int (input())
- n = input ()
- print (‘Введите число’,c)
Вопрос 7
s = int (input ())
Варианты ответов
- значение переменной s выводится на экран
- переменной s присваивается целочисленное значение, введённое с клавиатуры
- переменной s присваивается дробное значение, введённое с клавиатуры
- значение s сравнивается со значением, введенным с клавиатуры
Вопрос 8
Что будет выведено на экран в результате выполнения инструкции print(».format (7))? При записи ответа вместо пробелов используйте нижние подчёркивания.
Вопрос 9
Что будет выведено на экран в результате выполнения инструкции print (4, ‘с’, 6, sep = ‘,’)?
Варианты ответов
- 4,c,6
- 4, c,6
- 4, ‘с’, 8 sep=’,’
- 4,c, 6
- 4, c, 6
Вопрос 10
Оператор вывода в языке Phyton3:
Варианты ответов
- int()
- print()
- float()
- input()
Тесты по основам Python
На странице представлены тесты на знание базовых теоретических основ Python . Желательно проходить их по ходу чтения учебника перед решением задач соответствующей темы.
На данный момент в сборнике представлено более 150 тестов с ответами и пояснениями в сложных случаях. Однако не забывайте, что нужно стараться получать верный результат самостоятельно. Если же количество неверных ответов по текущей теме достаточно велико, следует пройти тесты повторно.
Ответы к тестам группы А ( * ) доступны всем авторизованным пользователям, а группы В ( * ) – только пользователям, оформившим подписку на дополнительные учебные материалы сайта.

-
Введение в Пайтон
- Числа и математические выражения
- Текстовые строки
- Списки
- Кортежи
- Словари
- Множества
- Логический тип
- Приведение типов
- Инструкции присваивания
- Условная инструкция if/elif/else
- Циклы for и while
- Итерации и генераторы
- ФункцииООП: классы и объекты
- Модули и пакеты
- Обработка исключений
Числа и математические выражения
Теоретический материал по числам, математическим операциям и модулю math можно почитать в нашем учебнике здесь.
1.1. * Какой тип данных в Python представляет целые числа?
Варианты ответов: а) complex, б) float, в) int, г) bool. Показать решение.
1.2. * Какие из представленых литералов чисел относятся к типу float ?
Варианты ответов: а) 1.7+4.3j, б) 5.0, в) 88, г) -.4? Показать решение.
Ноль для действительных чисел разрешается опускать, используя только точку.
1.3. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.5, б) 2, в) 3, г) ошибка. Показать решение.
Условие pythonCodes
x = 5 y = 2 z = x//y print(z)
Использовался оператор деления с округлением вниз, поэтому дробная часть просто отбросилась.
1.4. * Что будет выведено на экран в результате выполнения инструкции print(4 + 3.0) ?
Варианты ответов: а) 7.0, б) 4 + 3.0, в) 7, г) ошибка. Показать решение.
Результат был приведен к более общему типу, т.е. типу float .
1.5. * Какое число будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.5, б) 1, в) 0.1, г) ошибка. Показать решение.
Условие pythonCodes
x = 5 y = 2 z = x%y print(z)
Получили остаток от деления.
1.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 5, б) 0, в) 10, г) ошибка. Показать решение.
Условие pythonCodes
x = 5 x += x - x print(x)
Эквивалентно инструкции x = x + x — x .
1.7. * Выберите литералы чисел, представленные в шестнадцатеричной системе счисления.
Варианты ответов: а) 0X755, б) 16755, в) 0x1101, г) 0o1675. Показать решение.
Ответ. а) 0X755, в) 0x1101.
В шестнадцатеричной системе счисления запись целого числа должна начинаться с нуля и латинской буквы X в верхнем или нижнем регистре (т.е. 0x или 0X ), после чего должны идти символы последовательности 0123456789ABCDEF , представляющих данную систему счисления. При этом буквы также разрешается использовать в любом регистре. Например, 0x7F , 0XDD5A , -0xfF9 . Если будут использованы символы не входящие в данный диапазон, интерпретатор сгенерирует сообщение об ошибке.
1.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9.0, б) 9, в) 6.0 + 3, г) ошибка. Показать решение.
Условие pythonCodes
x = 3 y = 3.0 z = '3' print(x + y + z)
Числа разных типов могут участвовать в операции сложения и вычитания, а вот числа и строки – нет.
1.9. * Какой оператор используется для получения остатка от деления в Python ?
Варианты ответов: а) /, б) //, в) **, г) %. Показать решение.
1.10. * Что будет выведено на экран в результате выполнения инструкции print(5**(5 — 2)) ?
Варианты ответов: а) 15, б) 125, в) 45.0, г) ошибка. Показать решение.
Сочетание символов ** используется в Питоне для возведения в степень. При этом 0**0 = 1 .
1.11. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9.4, б) 9.35, в) 9.15, г) 9.45. Показать решение.
Условие pythonCodes
x = round(3.153, 2) y = round(6.25) print(x + y)
Первое число было округлено до двух знаков после запятой, а второе до целой части (по умолчанию). Поэтому и получили 3.15 + 6 = 9.15 .
1.12. * Какая из встроенных функций Python может быть использована для нахождения модуля числа?
Варианты ответов: а) round, б) abs, в) divmod, г) pow. Показать решение.
1.13. * Выберите допустимые записи вещественного числа 0.135 в исходном коде.
Варианты ответов: а) 135E-1, б) 1.35e-1, в) .135, г) 1.35-e1. Показать решение.
Ответ. б) 1.35e-1, в) .135.
В Пайтон допустима запись вещественных чисел в экспоненциальной форме. При этом для представления степени 10n используется латинская буква E в верхнем или нижнем регистре (т.е. e или E ), следующий за ней необязательный знак плюс или обязательный знак минус, а также сам показатель степени в виде положительного целого числа или нуля. Кроме того, ведущий ноль разрешается опускать.
Текстовые строки
Теоретический материал по строкам можно почитать в нашем учебнике здесь.
Не забываем, что строки относятся к неизменяемому типу данных, поэтому изменить их непосредственно не получится. Но всегда можно получить измененную копию строки и заменить ею хранящуюся в переменной исходную строку.
2.1. * Посчитайте количество литералов строк среди предложенных: ‘-23.5’ , ‘2 + 3’ , «яблоко» , [‘груша’] , «[5, 7]» .
Варианты ответов: а) 2, б) 3, в) 4, г) 5. Показать решение.
‘-23.5’ и ‘2 + 3’ – строки в одинарных кавычках, «яблоко» и «[5, 7]» – строки в двойных кавычках.
2.2. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 7 + 3, б) 10, в) 73, г) ошибка. Показать решение.
Условие pythonCodes
x = '7' y = '3' z = x + y print(z)
В результате конкатенации строк ‘7’ + ‘3’ получили строку ’73’ .
2.3. * Какой из операторов используется для повторения строки в Python ?
Варианты ответов: а) +, б) *, в) /, г) %. Показать решение.
Например, результатом выполнения инструкции ‘б’*3 будет строка ‘ббб’ .
2.4. * Какая последовательность символов представляет собой экранированную последовательность, соответствующую переводу строки?
Варианты ответов: а) \n, б) /n, в) \\n, г) //n. Показать решение.
Экранированная последовательность – это специальная последовательность символов, начинающаяся со знака обратного слеша, которая обозначает символ, не всегда представимый внутри строки другими способами. Например, \n или \u000A – перевод строки, \» или \u0022 – двойная кавычка и т.д.
2.5. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 55, б) 52, в) 25, г) ошибка. Показать решение.
Условие pythonCodes
x = '5' y = '2' z = x*int(y) print(z)
Здесь строка ‘2’ была сперва приведена к целому чилу. Поэтому в результате умножения ‘5’*2 была получена строка ’55’ .
2.6. * Что будет выведено на экран в результате выполнения инструкции print(«123456789″[5]) ?
Варианты ответов: а) 12345, б) 5, в) 6, г) ошибка. Показать решение.
Все символы строки нумеруются, начиная с нуля. Поэтому на экран будет выведен символ строки ‘6’ , т.е. символ с индексом 5 .
2.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 33, б) 6, в) 32, г) ошибка. Показать решение.
Условие pythonCodes
x = '3' y = '2' z = int(x*y) print(z)
Операция умножения строк между собой в Питоне не разрешена.
2.8. * Какой из методов используется для преобразования строки в верхний регистр?
Варианты ответов: а) upper(), б) capitalize(), в) lower(), г) title(). Показать решение.
Например, ‘she’.upper() вернет копию строки ‘SHE’ .
2.9. * Что будет выведено на экран в результате выполнения инструкции print(«123456789″[:5]) ?
Варианты ответов: а) 12345, б) 5, в) 6, г) ошибка. Показать решение.
Здесь нужно получить срез строки, начиная с первого символа с индексом 0 и заканчивая символом с индексом 4 (это ‘5’ ).
2.10. * Что выведет на экран инструкция print(‘okpython.net\’) ?
Варианты ответов: а) okpython.net, б) okpython.net\, в) okpython.net\’, г) ошибка. Показать решение.
Неформатированные строки не могут заканчиваться неэкранированным символом обратного слеша, т.к. он будет экранировать кавычки в конце строки. В таких случаях можно добавить его отдельно при помощи конкатенации (например, r’D:\text’ + ‘\\’ ), продублировать и затем удалить при помощи среза (например, r’D:\text\\'[:-1] ) или не использовать подавление вообще, экранировав все слеши в обычной строке (например, ‘D:\\text\\’ ).
2.11. * Какой из методов используется для соединения подстрок в одну строку по заданному разделителю?
Варианты ответов: а) split(), б) join(), в) replace(), г) strip(). Показать решение.
Например, ».join([‘G’, ‘P’, ‘T’, ‘5’]) вернет строку ‘GPT5’ .
2.12. * Дана строка s = «012345» . Перечислите инструкции, которые выведут на экран 3 .
Варианты ответов: а) print(s[3]), б) print(s[-3]), в) print(s[3::3]), г) все предыдущие варианты. Показать решение.
Ответ. г) все предыдущие варианты.
Символ строки ‘3’ доступен по положительному индексу 3 , т.к. нумерация символов начинается с нуля, а также по отрицательному индексу -3 , если получать доступ к нему с конца строки (в этом случае нумерация начинается с -1 ). Также данный символ является первым и единственным символом среза строки s[3::3] , поскольку для получения второго элемента среза у строки не хватает длины.
2.13. * Что будет выведено на экран в результате выполнения инструкции print(‘Гостиница ’Орбита’, 3 звезды.’) ?
Варианты ответов: а) Гостиница Орбита, 3 звезды., б) Гостиница ‘Орбита’, 3 звезды., в) ‘Гостиница ‘Орбита’, 3 звезды.’, г) ошибка. Показать решение.
Использование кавычек любого разрешенного типа внутри строковых литералов, заключенных в кавычки того же типа, разрешается при условии предварительного экранирования их при помощи обратного слеша. В нашем случае правильно было бы написать print(‘Гостиница \’Орбита\’, 3 звезды.’) . Также можно было бы использовать двойные кавычки.
2.14. * Что возвращает функция len() при передаче в неё строки?
Варианты ответов: а) количество слов, б) количество символов, в) количество байт, г) ошибка. Показать решение.
Ответ. б) количество символов.
Например, len(«груша») вернет 5 .
2.15. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ccc, б) bbb, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
s = 'abc'*3 s = s[2] + s[5] s += s[8] print(s)
После выполнения второй инструкции s = s[2] + s[5] в переменной будет храниться строка ‘cc’ длиной в два символа. Поэтому попытка получения символа строки с индексом 8 приведет к ошибке.
2.16. * Какой из методов используется для удаления пробельных символов с начала и конца строки?
Варианты ответов: а) lstrip(), б) rstrip(), в) strip(), г) все предыдущие варианты. Показать решение.
Например, ‘ ddd ‘.strip() вернет ‘ddd’ .
2.17. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 6, б) 7, в) 8, г) 9. Показать решение.
Условие pythonCodes
s = 'bc abc aabc' s = s.replace('a', 'bc') s = s.replace('bc', '1') print(len(s))
После выполнения инструкций замены в переменной будет храниться строка ‘1 11 111’ длиной в восемь символов.
2.18. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) ‘холливуд’, б) ‘голливуд’, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
s_1 = 'холливуд' s_2 = s_1 s_2[0] = 'г' print(s_1)
Помним, что строки неизменяемы. Поэтому инструкция s_2[0] = ‘г’ приведет к ошибке.
Списки
Теоретический материал по спискам можно почитать в нашем учебнике здесь.
Не забываем, что списки, в отличие от строк и кортежей, мы можем изменять непосредственно.
3.1. * Какие из представленых литералов относятся к типу list ?
Варианты ответов: а) [‘1’, ‘2’, ‘3’], б) ‘[1, 2, 3]’, в) [(1, 2, 3)], г) ([1], [2], [3]). Показать решение.
Ответ. а) [‘1’, ‘2’, ‘3’], в) [(1, 2, 3)].
[‘1’, ‘2’, ‘3’] – список из трех строковых элементов, а [(1, 2, 3)] – список из одного элемента в виде кортежа.
3.2. * Как в Пайтоне создать пустой список?
Варианты ответов: а) li = [], б) li = None, в) li = 0, г) li = list(). Показать решение.
Ответ. а) li = [], г) li = list().
3.3. * Выберите верные утверждения о списках.
Варианты ответов: а) неизменяемые, б) упорядоченные, в) последовательности, г) изменяемые. Показать решение.
Ответ. б) упорядоченые, в) последовательности, г) изменяемые.
3.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [3], б) [1, 1, 1], в) [1, 1, 1, 1], г) ошибка. Показать решение.
Условие pythonCodes
li = [1] li += li*3 print(li)
Ответ. в) [1, 1, 1, 1].
В первой инструкции был создан список с одним элементом. Во второй инструкции к нему был присоединен список [1, 1, 1] , полученный в результате операции умножения li*3 (объединение с самим собой 3 раза, т.е. li + li + li ).
3.5. * Как добавить элемент elem в конец списка li ?
Варианты ответов: а) li.append(elem), б) li.insert(len(li), elem), в) li.extend([elem]), г) li += [elem]. Показать решение.
Ответ. Все варианты верны.
И это еще не все. Можно, например, использовать срез li[len(li):len(li)] = [elem]
3.6. * Что будет выведено на экран в результате выполнения инструкции print([‘a’, ‘b’, ‘cd’, ‘e’, ‘f’][3]) ?
Варианты ответов: а) d, б) e, в) cd, г) c. Показать решение.
В списке содержится пять строковых элементов, просто один элемент представляет собой строку из двух символов. Элементом с индексом 3 является строка ‘e’ .
3.7. * Как удалить из списка li элемент elem по его индексу i ?
Варианты ответов: а) li.pop(i), б) del li[i], в) li.remove(elem), г) li.clear(). Показать решение.
Ответ. а) li.pop(i), б) del li[i].
Третий вариант удаляет из списка первый попавшийся элемент, имеющий значение elem . Последний вариант удаляет все элементы из списка.
3.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2, 3, 4, 5], б) [1, 2, 4, 5], в) [1, 3, 4, 5], г) ошибка. Показать решение.
Условие pythonCodes
li = [1, 2, 3, 4, 5] li = li[0:2] + li[3:] print(li)
Ответ. б) [1, 2, 4, 5].
Во второй инструкции объединяются списки [1, 2] (результат среза li[0:2] ) и [4, 5] (результат среза li[3:] ).
3.9. * Дан список li = [‘a’, ‘b’, ‘cd’, ‘e’, ‘f’] . Перечислите инструкции, которые выведут на экран символ d .
Варианты ответов: а) print(li[2][1]), б) print(li[2][2]), в) print(li[3]), г) print(li[-3][1]). Показать решение.
Ответ. а) print(li[2][1]), г) print(li[-3][1]).
Для доступа к элементам списка, которые сами являются последовательностями, используется цепочка квадратных скобок с указанием требуемых индексов. В нашем случае доступ к строке ‘cd’ можно получить через li[2] или же через li[-3] , если считать с конца списка. Вторые квадратные скобки дают доступ уже к самому символу ‘d’ строки.
3.10. * Как в Пайтоне объединить два списка в один?
Варианты ответов: а) li_1.join(li_2), б) li_1 + li_2, в) li_1.extend(li_2), г) li_1.append(li_2). Показать решение.
Ответ. б) li_1 + li_2, в) li_1.extend(li_2).
Метод join() имеется у строк, у списков такой метод отсутствует. В последнем случае метод append() не объединит списки, а добавит второй список в первый в качестве нового элемента.
3.11. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) True, б) None, в) False, г) ошибка. Показать решение.
Условие pythonCodes
li = ['a', 'b', ['cd'], 'e', 'f'] ans = 'cd' in li print(ans)
В списке li имеется элемент [‘cd’] (список), а не ‘cd’ (строка).
3.12. * Как в Питоне обратить порядок элементов в списке?
Варианты ответов: а) li.reverse(), б) li = li[::-1], в) reverse(li), г) никак. Показать решение.
Ответ. а) li.reverse(), б) li = li[::-1].
Встроенная функция reverse() в Пайтоне отсутствует.
3.13. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [‘теплое’, ‘море’], б) [‘холодное’, ‘море’], в) [‘холодное’, ‘теплое’, ‘море’], г) ошибка. Показать решение.
Условие pythonCodes
li_1 = ['теплое', 'море'] li_2 = li_1 li_2[0] = 'холодное' print(li_1)
Ответ. б) [‘холодное’, ‘море’].
Обе ссылки li_1 и li_2 ссылаются на один и тот же изменяемый объект (список) в памяти и полное или частичное изменение этого объекта доступно через любую из них. Соответственно через любую из ссылок видны и последствия таких изменений.
3.14. * Как добавить элемент x в конец списка li , используя срез?
Варианты ответов: а) li[len(li):len(li)] = [x], б) li[len(li):len(li)] = x, в) li[-1:] = [x], г) li[-1:] = x. Показать решение.
Ответ. а) li[len(li):len(li)] = [x].
Самостоятельно подумайте над результатами выполнения всех предложенных инструкций и проверьте ответы в интерпретаторе.
3.15. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2, 3], б) [1, 2, 3, ‘abc’], в) [1, 2, 3, ‘a’, ‘b’, ‘c’], г) ошибка. Показать решение.
Условие pythonCodes
li = [1, 2, 3] li.extend('abc') print(li)
Ответ. в) [1, 2, 3, ‘a’, ‘b’, ‘c’].
li.extend(iterable) – добавляет элементы из итерируемого объекта iterable в конец списка li (тоже самое что и li[len(li):len(li)] = iterable ).
Кортежи
Теоретический материал по кортежам можно почитать в нашем учебнике здесь.
Не забываем, что кортежи относятся к неизменяемому типу данных, поэтому изменить их непосредственно не получится. Но всегда можно получить измененную копию кортежа и заменить ею хранящийся в переменной исходный кортеж.
4.1. * Какой тип данных в Python представляет кортежи?
Варианты ответов: а) dict, б) list, в) tuple, г) set. Показать решение.
dict – словарь, list – список, set – множество.
4.2. * Выберите верные утверждения о кортежах.
Варианты ответов: а) неизменяемые, б) изменяемые, в) неупорядоченые, г) упорядоченые. Показать решение.
Ответ. а) неизменяемые, г) упорядоченные.
В отличие от списков кортежи неизменяемы, т.е. добавлять в них новые элементы, а также заменять или удалять их запрещено. В тоже время кортежи упорядоченны, т.к. каждый элемент пронумерован целочисленными индексами.
4.3. * Какие из представленых литералов относятся к кортежам?
Варианты ответов: а) (1,), б) ‘(1, 2, 3)’, в) ([1, 2, 3]), г) («Питон»). Показать решение.
Ответ. а) (1,), г) («Питон»,).
Вариант б) – строка, в) – список.
4.4. * Как в Python создать пустой кортеж?
Варианты ответов: а) tpl = (), б) tpl = <>, в) tpl = tuple(), г) tpl = tuple(0). Показать решение.
Ответ. а) tpl = (), в) tpl = tuple().
Вариант б) – пустой словарь, г) – ошибка, т.к. в конструктор нужно передавать итерируемый объект.
4.5. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (3,), б) (1, 1, 1), в) (1, 1, 1, 1), г) ошибка. Показать решение.
Условие pythonCodes
t = (1,) t += t*3 del t[0] print(t)
Кортежи неизменяемы, а значит удалять элементы из них запрещается.
4.6. * Как удалить из кортежа tpl элемент elem с индексом i ?
Варианты ответов: а) tpl.pop(i), б) del tpl[i], в) tpl.remove(elem), г) никак. Показать решение.
Кортежи неизменяемы, а значит удалять элементы из них запрещается.
4.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1,), б) (1, [2]), в) (1, [3]), г) ошибка. Показать решение.
Условие pythonCodes
tpl = (1, [2, 3]) del tpl[1][1] print(tpl)
Здесь все в порядке, т.к. элемент кортежа, которым является список, не удаляется, а изменяется.
4.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0—-, б) 76543, в) 10987, г) —-. Показать решение.
Условие pythonCodes
tpl = (1, 2, ('-3-4-5-6', '-7-8-9-10')) print(tpl[2][1][-1::-2])
Здесь был получен доступ к строке ‘-7-8-9-10’ вложенного кортежа и взят ее срез с использованием отрицательного шага.
Словари
Теоретический материал по словарям можно почитать в нашем учебнике здесь.
5.1. * Какой тип данных в Python представляет словари?
Варианты ответов: а) dict, б) list, в) tuple, г) set. Показать решение.
list – список, tuple – кортеж, set – множество.
5.2. * Какие из утверждений о словарях верны?
Варианты ответов: а) изменяемые, б) неизменяемые, в) доступ к элементам по индексу, г) доступ к элементам по ключу. Показать решение.
Ответ. а) изменяемые, г) доступ к элементам по ключу.
5.3. * Какие из представленых литералов относятся к словарям?
Вариант а) – множество, в) – кортеж из двух словарей.
5.4. * Как в Питоне создать пустой словарь?
Варианты ответов: а) d = dict(), б) d = (), в) d = <>, г) d = []. Показать решение.
Ответ. а) d = dict(), в) d = <>.
Вариант б) – пустой кортеж, г) – пустой список.
5.5. * Выберите верные способы создания словаря с двумя элементами.
Варианты ответов: а) d = dict(name=’Eva’, age=33), б) d = dict((‘name’, ‘Eva’), (‘age’, 33)), в) d = dict(‘name’=’Eva’, ‘age’=33), г) d = dict((name, ‘Eva’), (age, 33)). Показать решение.
Ответ. а) d = dict(name=’Eva’, age=33), б) d = dict((‘name’, ‘Eva’), (‘age’, 33)).
в) – ошибка, т.к. в этом случае для ключей нужно использовать идентификаторы, а не строки, г) – здесь наоборот.
5.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
Условие pythonCodes
d = ], (5, '6'): ('f', 'g')> print(len(d))
Словарь содержит три элемента с ключами 1 , ‘2’ и (5, ‘6’) .
5.7. * Какие из представленых литералов могут быть использованы в качестве ключей словаря?
Варианты ответов: а) (1,), б) [2,], в) ‘3’, г) -.4. Показать решение.
Ответ. а) (1,), в) ‘3’, г) -.4.
В качестве ключей разрешается использовать только хешируемые элементы. Так что список отпадает.
5.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) , в) , г) ошибка. Показать решение.
Условие pythonCodes
d = d += d*2 print(d)
Операция умножения на число для словарей не определена.
5.9. * Как получить значение из словаря d по ключу key ?
Варианты ответов: а) d.value(key), б) d[key], в) d.get(key), г) d.setdefault(key). Показать решение.
Ответ. б) d[key], в) d.get(key), г) d.setdefault(key).
Метод value() у словарей отсутствует.
5.10. * Как удалить значение из словаря d по ключу key ?
Варианты ответов: а) del d[key], б) d.pop(key), в) d.remove(key), г) никак. Показать решение.
Ответ. а) del d[key], б) d.pop(key).
Метод remove() у словарей отсутствует.
5.11. * Что будет выведено на экран в результате выполнения кода условия?
Условие pythonCodes
d = d.update([(1, 'один'), (2, 'два')]) d[3] = 'три' print(d)
В процессе обновления словаря значение ‘one’ ключа 1 было обновлено значением ‘один’ .
5.12. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [‘a’, ‘b’], б) [‘a’, ‘b’, ‘c’], в) dict_keys([‘a’, ‘b’]), г) ошибка. Показать решение.
Условие pythonCodes
d = k = d.keys() del d['c'] print(list(k))
Здесь стоит помнить, что представление ключей динамически изменяется в процессе изменения словаря.
Множества
Теоретический материал по множествам можно почитать в нашем учебнике здесь.
6.1. * Какой тип данных в Питоне представляет множества?
Варианты ответов: а) tuple, б) list, в) dict, г) set. Показать решение.
6.2. * Какие из утверждений о множествах верны?
Варианты ответов: а) коллекции неизменяемых объектов, б) изменяемые коллекции объектов, в) неупорядоченные коллекции объектов, г) упорядоченные коллекции объектов. Показать решение.
Ответ. а) коллекции неизменяемых объектов, б) изменяемые коллекции объектов, в) неупорядоченные коллекции объектов.
Сами множества изменять разрешается, но вот их элементы должны быть неизменяемыми типами данных. Поэтому мы можем добавить в качестве элемента число, но не список. Кроме того, множества неупорядоченные коллекции. Поэтому доступ к его элементам отсутствует как по индексам, так и по ключам.
6.3. * Какие из представленых литералов относятся к типу set ?
Вариант б) – строка, г) – список.
6.4. * Как создать пустое множество в Пайтоне?
Варианты ответов: а) st = (), б) st = set(), в) st = [], г) st = <>. Показать решение.
Ответ. б) st = set().
Вариант а) – пустой кортеж, в) – пустой список, г) – пустой словарь.
6.5. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) , в) , г) ошибка. Показать решение.
Условие pythonCodes
st = st += st*3 print(st)
Как и для словарей, операция умножения на число у множеств не определена.
6.6. * Даны два множества и . Какое из множеств является их пересечением?
Варианты ответов: а) , б) , в) , г) <>. Показать решение.
Операция пересечения предполагает получение нового множества с элементами, которые есть сразу у всех объединяемых множеств.
6.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) , в) , г) ошибка. Показать решение.
Условие pythonCodes
st_1 = st_2 = print(st_1 | st_2)
Операция объединения предполагает получение нового множества с элементами, которые есть хотя бы у одного из объединяемых множеств.
6.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) <(2, 3), 1>, в) , г) ошибка. Показать решение.
Условие pythonCodes
st = set() st.add(1) st.add((2, 3)) print(st)
Добавлять неизменяемые элементы в множество разрешается.
6.9. * Как удалить элемент elem из множества st ?
Варианты ответов: а) st.remove(elem), б) st.discard(elem), в) st.pop(elem), г) никак. Показать решение.
Ответ. а) st.remove(elem), б) st.discard(elem).
Метод pop() у множеств не принимает в качестве аргумента элемент. Он просто удаляет и возвращает произвольный элемент множества или, если множество окажется пустым, возбуждает исключение KeyError .
6.10. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) <(1, 2), [3, 4]>, в) [3, 4], г) ошибка. Показать решение.
Условие pythonCodes
st = set() st.add((1, 2)) st.add([3, 4]) print(st)
Добавлять изменяемые элементы в множество запрещается.
6.11. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) <>, в) , г) ошибка. Показать решение.
Условие pythonCodes
fst = frozenset() fst.clear() fst.add('1', '2') print(fst)
Изменять замороженное множество запрещается.
6.12. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , б) True, в) None, г) ошибка. Показать решение.
Условие pythonCodes
st_1 = st_2 = st_1.add(3) print(st_2)
Элемент в множество st_1 конечно же добавлен будет. Однако метод хоть и изменяет свое множество, но возвращает не его, а значение None .
Логический тип
Теоретический материал по логическому типу данных можно почитать в нашем учебнике здесь.
7.1. * Какой тип данных в Пайтоне представляет логические значения?
Варианты ответов: а) NoneType, б) bool, в) float, г) int. Показать решение.
NoneType – тип NoneType, float – вещественные числа, int – целые числа.
7.2. * Выберите верные варианты написания имен булевых констант.
Варианты ответов: а) TRUE, б) True, в) false, г) False. Показать решение.
Ответ. б) True, г) False.
Регистр написания имен имеет значение.
7.3. * Какое значение будет иметь выражение True and False ?
Варианты ответов: а) True, б) False, в) None, г) ошибка. Показать решение.
Еще раз посмотрите таблицу №3 параграфа.
7.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 10, в) 11, г) ошибка. Показать решение.
Условие pythonCodes
x = 10 res = True + x*False print(res)
Булевы константы можно использовать в математических выражениях на равных с числами, оперируя True как 1 , а False как 0 .
7.5. * Что выведет на экран инструкция print(False ?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
Операции сравнения возвращают булевы значения, кроме того, 0 (см. предыдущий тест).
7.6. * Что выведет на экран инструкция print(11 > 0 is True) ?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
11 > 0 is True эквивалентно (11 > 0) and (0 is True) . Это касасется и других комбинированных условий сравнения: в общем виде expr_1 op expr_2 op expr_3 эквивалентно (expr_1 op expr_2) and (expr_2 op expr_3) .
7.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3 or три, б) 3, в) три, г) True. Показать решение.
Условие pythonCodes
x = 3 y = 'три' print(x or y)
Здесь 3 интерпретируется как True , поэтому правый операнд уже не вычислялся. Вместо этого был просто возвращен результат вычисления левого операнда (см. подробнее в учебнике).
7.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) Ok!, б) not True or foo(), в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
def foo(): print('Ok!') not True or foo()
Здесь наоборот, not True интерпретируется как False , поэтому был возвращен результат вычисления правого операнда, т.е. вызов функции (см. подробнее в учебнике).
Приведение типов
Теоретический материал по приведению типов можно почитать в нашем учебнике здесь.
8.1. * Каким будет результат преобразования типа для инструкции bool(-1) ?
Варианты ответов: а) False, б) True, в) None, г) 1. Показать решение.
Среди чисел только нулевые значения преобразуются в False .
8.2. * Каким будет результат преобразования типа для инструкции str([1, ‘2’, 3]) ?
Варианты ответов: а) [1, ‘2’, 3], б) «1, ‘2’, 3», в) «[1, ‘2’, 3]», г) [‘1’, ‘2’, ‘3’]. Показать решение.
Будет выведено строковое представление объекта, в данном случае списка.
8.3. * Каким будет результат преобразования типа для инструкции float(‘-42 ‘) ?
Варианты ответов: а) -42, б) -42.0, в) -4.2e-1, г) ошибка. Показать решение.
Если строка содержит верное представление целого числа в десятичной системе счисления, то интерпретатор в процессе приведения строки к вещественному типу вернет это число, добавив к нему нулевую дробную часть.
8.4. * Каким будет результат преобразования типа для инструкции bool(‘ False ‘) ?
Варианты ответов: а) False, б) ‘False’, в) True, г) ошибка. Показать решение.
Непустые строки преобразуются в True .
8.5. * Каким будет результат преобразования типа для инструкции tuple(» hello «) ?
Варианты ответов: а) (‘ ‘, ‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘ ‘), б) (‘h’, ‘e’, ‘l’, ‘l’, ‘o’), в) (» hello «,), г) (» hello «). Показать решение.
Все элементы итерируемого объекта, т.е. символы переданной строки, стали элементами кортежа.
8.6. * Каким будет результат преобразования типа для инструкции set([1, 2, 3, 3]) ?
Варианты ответов: а) , б) , в) [1, 2, 3, 3], г) [1, 2, 3]. Показать решение.
Все неповторяющиеся элементы итерируемого объекта, т.е. числа переданного списка, стали элементами множества (коллекции уникальных объектов).
8.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2.0, б) 2, в) 0.0, г) 0. Показать решение.
Условие pythonCodes
res = int(True) + float(True) print(res)
После преобразования получим 1 + 1.0 , поэтому результатом будет вещественное число (более общий тип).
8.8. * Каким будет результат преобразования типа для инструкции int(-0.319e2) ?
Варианты ответов: а) 0, б) -3, в) -31, г) ошибка. Показать решение.
-0.319e2 – это вещественное число -31.9 . А в ходе преобразования вещественных чисел в целые их дробная часть просто отбрасывается.
8.9. * Каким будет результат преобразования типа для инструкции list() ?
Варианты ответов: а) [‘a’, ‘b’, ‘c’], б) [1, 2, 3], в) [(‘a’, 1), (‘b’, 2), (‘c’, 3)], г) ошибка. Показать решение.
Словари преобразуются в списки с ключами, теряя при этом свои значения.
8.10. * Каким будет результат преобразования типа для инструкции dict([‘a’, ‘b’]) ?
К словарям напрямую могут быть преобразованы только итерируемые объекты, содержащие пары значений, в которых первые элементы становятся ключами словаря, а вторые – его значениями.
Инструкции присваивания
Теоретический материал по инструкциям присваивания можно почитать в нашем учебнике здесь.
9.1. * Какой из представленных вариантов соответствует позиционной инструкции присваивания?
Варианты ответов: а) b = [1, 2], б) a += [1, 2], в) a = b = [1, 2], г) a, b = [1, 2]. Показать решение.
Ответ. г) a, b = [1, 2].
Позиционное присваивание связывает объекты последовательностей справа от оператора присваивания с именами, перечисляемыми слева от него. При этом присваивание выполняется слева направо согласно местоположениям имен и соответствующих им объектов.
9.2. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
Условие pythonCodes
x = 10 y = x x = 20 print(y)
Сперва переменная x хранила ссылку на объект целого числа 10 в памяти. Далее, в результате присваивания, ссылку на объект получила еще и переменная y . В результате на неизменяемый объект в памяти стало указывать уже две ссылки. Но ниже переменной x было присвоено новое значение, точнее новая ссылка на другой объект целого числа 20 . Однако объект числа 10 при этом из памяти не удалился, ведь ссылка на него осталась еще в переменной y , что и подтвердил вывод инструкции print(y) .
9.3. * Какой оператор используется для присваивания значения переменной внутри выражения?
Варианты ответов: а) =, б) ==, в) :=, г) +=. Показать решение.
Был введен в Python 3.8 .
9.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) [1, 2, 3], в) [10, 2, 3], г) ошибка. Показать решение.
Условие pythonCodes
a = [1, 2, 3] b = a a[0] = 10 print(b)
В отличие от второго теста, здесь переменные ссылаются на один и тот же изменяемый объект. Поэтому все изменения в этом объекте (списке) будут отслеживаться сразу всеми переменными, хранящими на него ссылку.
9.5. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1, 2), б) (2, 1), в) (4, 3), г) (3, 4). Показать решение.
Условие pythonCodes
x = (1, 2) y = (3, 4) x, y = y, x print(x)
В результате позиционного присваивания происходит обмен значениями за счет создания временного кортежа ((3, 4), (1, 2)) .
9.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) [1, 2], б) [10, 2], в) [], г) ошибка. Показать решение.
Условие pythonCodes
x = [1, 2] y = x[:] x[0] = 10 print(y)
В отличие от четвертого теста, здесь переменные ссылаются на разные объекты в памяти, т.к. переменной y присваивается ссылка на совершенно другой объект в памяти, создаваемый для хранения копии исходного списка. Поэтому инструкция x[0] = 10 изменяет только тот объект в памяти, на который ведет соответствующая переменной x ссылка.
9.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) 6, в) 7, г) ошибка. Показать решение.
Условие pythonCodes
a, b, *c = [1, 2, 3, 4, 5] a += b + c[1] print(a)
В результате использования в первой инструкции расширенного синтаксиса распаковывания последовательностей в переменных будут храниться значения 1 , 2 и [3, 4, 5] . Во второй инструкции в результате комбинированного присваивания в переменной a будет храниться число 7 ( 1 + 2 + 4 ).
9.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) , , , б) , , <>, в) , , <>, г) ошибка. Показать решение.
Условие pythonCodes
a = b = c = set() a |= b |= print(a, b, c, sep=', ')
В результате группового присваивания пустого множества сразу трем переменным на созданный под это множество в памяти объект будет вести сразу три ссылки. Добавление в это множество новых элементов (т.е. изменение этого совместно используемого объекта) возможно через любую из них. Через любую иэ этих ссылок можно наблюдать затем и изменения, произошедшие в объекте.
9.9. * Какие из представленных фрагментов кода содержат ошибки?
Варианты ответов: а) x, y = [3, ‘3’], б) x, *y = 1, 2, 3, в) *x, = 1, 2, 3, г) x, *y, *z = 1, 2, 3, 4. Показать решение.
Ответ. г) x, *y, *z = 1, 2, 3, 4.
Расширенный синтаксис распаковывания последовательностей допускает использование в позиционном присваивании только одной переменной со звездочкой.
Условная инструкция if/elif/else
Теоретический материал по условной инструкции можно почитать в нашем учебнике здесь.
10.1. * Какие из частей условной инструкции не являются обязательными?
Варианты ответов: а) if, б) elif, в) else, г) все части необязательны. Показать решение.
Ответ. б) elif, в) else.
Блоков elif может быть как несколько, так и вообще ниодного. Блок else может отсутствовать, но если он используется, то только один.
10.2. * Что будет выведено на экран в результате выполнения кода условия?
Условие pythonCodes
a, b = 5, 10 if a>b: print("a>b") else: print("a<=b")
Поскольку условие блока if оказалось ложным, сработал блок else .
10.3. * Какой из представленных вариантов можно отнести к верному формату представления условной инструкции?
Варианты ответов: а) if/elseif/else, б) if/elif/else, в) if/else/elif, г) A = Y if X else Z. Показать решение.
Ответ. б) if/elif/else.
Вариант г) соответствует верному формату трехместного выражения if/else . Но в тесте требуется найти верный формат именно инструкции.
10.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1-й разряд, б) 2-й разряд, в) 3-й разряд, г) не присваивается. Показать решение.
Условие pythonCodes
очки = 73 if очки >= 90: разряд = "1-й разряд" elif очки >= 80: разряд = "2-й разряд" elif очки >= 70: разряд = "3-й разряд" else: разряд = "не присваивается" print(разряд)
Ответ. в) 3-й разряд.
10.5. * Какой из предлагаемых операторов можно использовать для инвертирования условия в инструкции if ?
Варианты ответов: а) and, б) or, в) not, г) is. Показать решение.
Например, if not y==0: print(x/y) .
10.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1, б) 2, в) 3, г) ошибка. Показать решение.
Условие pythonCodes
res = 0 if []: res += 1 if False: res += 1 if not None: res += 1 if -1: res += 1 print(res)
Нужно вспомнить особенности приведения к логическому типу: пустой список приводится к False , а вот число -1 к значению True . Кроме того, not None конвертируется в True . В результате из четырех блоков if выполнится только два.
10.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) None, б) True, в) False, г) ошибка. Показать решение.
Условие pythonCodes
s = '' if s: if 'a' in s: res = True else: res = False else: res = None print(res)
Опять же, нужно вспомнить особенности приведения к логическому типу: пустая строка приводится к False . Следовательно будет выполнен блок else .
10.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) -8, б) -2, в) 2, г) ошибка. Показать решение.
Условие pythonCodes
x, y = -5, -3 res = (-1*x if x
Здесь используется трехместное условное выражение, поэтому ошибки не будет.
Циклы for и while
Теоретический материал по циклам можно почитать в нашем учебнике здесь.
11.1. * Какие из представленных операторов представляют циклы в Питоне?
Варианты ответов: а) if, б) while, в) switch, г) for. Показать решение.
Ответ. б) while, г) for.
switch в Питоне вообще отсутствует.
11.2. * Какой из следующих вариантов можно использовать для организации бесконечного цикла?
Варианты ответов: а) while True:, б) while 1:, в) for i in range(inf):, г) все вышеуказанные. Показать решение.
Ответ. а) while True:, б) while 1:.
1 и True взаимозаменяемы.
11.3. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3, б) (3), в) 1 2 3 , г) ошибка. Показать решение.
Условие pythonCodes
for i in (3): print(i, end=' ')
(3) – это не кортеж с одним элементом, а просто число в скобках, т.е. неитерируемый объект.
11.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) -1 -2 -3, б) 0 -1 -2 -3, в) -1 -2 -3, г) 0 -1 -2. Показать решение.
Условие pythonCodes
for i in range(3): print(-i, end=' ')
Функция range() в нашем случае вернет объект с последовательностью из трех чисел от нуля до двух. А цикл for выведет их на экран с противоположным знаком.
11.5. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0 1 2 3 4 5, б) 1 2 3 4 5, в) a b c d e f, г) ошибка. Показать решение.
Условие pythonCodes
li = ['12345', 'abcdef'] for elem in li[0]: print(elem, end=' ')
Ответ. б) 1 2 3 4 5.
Осуществили итерацию по символам строки, которая является первым элементом списка.
11.6. * Какой из следующих операторов предназначен для прерывания цикла?
Варианты ответов: а) pass, б) continue, в) break, г) else. Показать решение.
Для прерывания только одного витка итерации и перехода на следующий используется continue .
11.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) a (b, c) d (e, f), б) a ('b', 'c') d ('e', 'f'), в) a [b, c] d [e, f], г) a ['b', 'c'] d ['e', 'f']. Показать решение.
Условие pythonCodes
d = [('a', 'b', 'c'), ('d', 'e', 'f')] for x, *y in d: print(x, y, end=' ')
Ответ. г) a ['b', 'c'] d ['e', 'f'].
Здесь осуществляется итерация по двум элементам (кортежам) списка. При этом используется расширенный синтаксис распаковывания последовательностей. В результате на каждом витке первый элемент целевого кортежа присваивается переменной x , а оставшиеся собираются в список, который присваивается переменной y . Далее значения переменных просто выводятся на экран.
11.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2 3, б) 1 2 3 4, в) 1 2 3 4 5, г) ошибка. Показать решение.
Условие pythonCodes
k = 1 while k 3: break print(k, end=' ') k += 1
Счетчик стартует с единицы. Цикл прерывается оператором break и не достигает очередной инструкции вывода, как только значение счетчика достигнет четырех.
11.9. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2 3 4 5, б) 0 1 2, в) 0 1 2 3, г) 0 1 2 4 5. Показать решение.
Условие pythonCodes
k = 0 while True: if k > 5: break if k == 3: k += 1 continue print(k, end=' ') k += 1
Ответ. г) 0 1 2 4 5.
Счетчик стартует с нуля. Цикл прерывается оператором break и не достигает очередной инструкции вывода, как только значение счетчика достигнет шести. При этом по ходу цикла значение 3 пропускается из-за условной инструкции if и оператора continue внутри.
11.10. * Какой из следующих операторов можно использовать для выполнения блока кода после завершения цикла?
Варианты ответов: а) pass, б) continue, в) break, г) else. Показать решение.
Операторы continue и break используются внутри циклов. А pass – это вообще пустая инструкция-заполнитель, которая может использоваться внутри циклов вместо тела.
11.11. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 0, б) 3 2 1 0, в) 3 2 1 0 0, г) ошибка. Показать решение.
Условие pythonCodes
k = 4 while k: k -= 1 print(k, end=' ') if k>2: continue else: print(0)
Ответ. в) 3 2 1 0 0.
Счетчик стартует с четырех. Внутри цикла он сразу же уменьшается на единицу, а новое значение выводится на экран. Поскольку условная инструкция if с оператором continue внутри используется позже, она никак и не повлияла на вывод значений. После обнуления счетчика, цикл завершается без ошибок, а значит срабатывает блок инструкций else , т.е. выводится еще один ноль.
11.12. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 2 1, б) 2 1 2 1 2 1, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
k = 1 while True: for n in range(2, 0, -1): print(n, end=' ') k += 1 if k == 3: break
Ответ. а) 2 1 2 1.
Счетчик основного цикла while стартует с одного. Внутри цикла сразу же начинает работать внутренний цикл for , который выводит на экран все значения n убывающей последовательности чисел от двух до нуля с шагом -1 . А это всего два числа: два и один. Когда внутренний цикл завершается, счетчик основного цикла увеличивается на единицу. Далее проверяется условие равенства счетчика трем: по достижении этого значения внешний цикл завершает свою работу. А это значит, что внешний цикл повторяется всего два раза.
11.13. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2 1 2 1, б) 2 1 2 1 2 1, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
k = 1 while True: for n in range(2, 0, -1): print(n, end=' ') if k == 3: break k += 1
Ответ. б) 2 1 2 1 2 1.
Различие с предыдущим тестов в том, что счетчик увеличивается после проверки условия на равенство его значения трем! Это и дает прирост количества итераций на единицу. Ответили неверно? Пройдитесь по итерациям еще раз.
Итерации и генераторы
Теоретический материал по итерациям и генераторам можно почитать в нашем учебнике здесь.
12.1. * Какие из предложенных вариантов объектов относятся к итерируемым?
Варианты ответов: а) 'abc', б) (25,), в) 321, г) . Показать решение.
Строки хотя и относятся к неизменяемому типу данных, но дают доступ к своим символам. А вот пройтись по цифрам числа напрямую не получится.
12.2. * С помощью какой функции можно преобразовать итерируемый объект в итератор?
Варианты ответов: а) iter, б) next, в) list, г) никак. Показать решение.
Например, li_iter = iter([1, 2, 3]) . Что касается встроенной функции next , то она используется для получения следующего элемента полученного итератора.
12.3. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) b, б) cd, в) True, г) ошибка. Показать решение.
Условие pythonCodes
li = ['ab', 'cd', 'ef'] li_iter = iter(li) next(li_iter) print(next(li_iter))
Встроенная функция next используется для получения следующего элемента полученного итератора. Следовательно в ходе первого ее применения будет возвращен первый элемент итератора (на экран мы его не выводим), а в ходе второго вызова – второй элемент, который и будет выведен на экран функцией print .
12.4. * Что произойдет, если попытаться получить элемент из итератора, который исчерпал все свои элементы?
Варианты ответов: а) будет возвращено None, б) будет возвращен пустой кортеж, в) будет брошено исключение StopIteration, г) будет возвращено False. Показать решение.
Ответ. в) будет брошено исключение StopIteration.
12.5. * Какая из конструкций вернет готовый итератор?
Варианты ответов: а) , б) (x for x in 'abc'), в) [x for x in 'abc'], г) . Показать решение.
Ответ. б) (x for x in 'abc').
Остальные генераторы вернут множество, список и словарь, итераторы которых сперва придется получить при помощи функции iter .
12.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 2, б) 3, в) 4, г) ошибка. Показать решение.
Условие pythonCodes
g_1 = (x for x in range(2, 5)) g_2 = [x+1 for x in range(2, 5)] res = next(g_1) + next(g_2) print(res)
К спискам не применима функция next ! Сперва нужно получить итератор с помощью функции iter(g_2) , а затем уже получать элемент и находить сумму.
12.7. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 4, б) 3, в) 2, г) 1. Показать решение.
Условие pythonCodes
def f_2(n): for i in range(1, n+1): yield i gen = f_2(30) res = next(gen) + next(gen) + next(f_2(30)) print(res)
В первый раз next(gen) вернет один, затем два. next(f_2(30)) вернет один, т.к. каждый новый вызов функции f_2 создает новый объект итератора, а значит выдача элементов начинается заново.
Функции
Теоретический материал по функциям можно почитать в нашем учебнике здесь.
13.1. * Какая инструкция используется в Python для определения функций?
Варианты ответов: а) df, б) def, в) dfn, г) define. Показать решение.
Остальные имена в Пайтоне отсутствуют вообще.
13.2. * Что возвращает функция, в которой отсутствует инструкция return ?
Варианты ответов: а) объект функции, б) None, в) False, г) ничего. Показать решение.
Технически все равно будет возвращено None . Проверить легко, использовав, например, вызов пустой функции def func(): pass в инструкции print(func()) .
13.3. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) True, б) None, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
def my_func(): print(True) my_func
Ничего на экран выведено не будет, т.к. вызов функции осуществлен не был. Для этого нужно было к имени функции добавить скобки. А так в код программы было просто вписано имя, ссылающееся на объект ранее определенной функции, что вполне себе разрешено и ошибки не вызовет.
13.4. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 1 2, б) 2 1, в) 1, г) ошибка. Показать решение.
Условие pythonCodes
def my_func_1(): print(1, end=' ') my_func_2() def my_func_2(): print(2, end=' ') my_func_1()
Не забываем, что функции можно вызывать только после их объявления. Если ход выполнения скрипта не дошел до места определения функции, будет брошено исключение. Это касается и объявлений функций внутри условных инструкций.
13.5. * Какой из предлагаемых вариантов является допустимым способом передачи аргументов функции?
Варианты ответов: а) по порядку, б) по ключевому слову, в) по умолчанию, г) все вышеуказанные. Показать решение.
Ответ. г) все вышеуказанные.
Еще раз загляните в пункт нашего учебника «Аргументы функций».
13.6. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 17, б) 16, в) 15, г) ошибка. Показать решение.
Условие pythonCodes
def f_1(a, b): return a + b def f_2(a, b=3, c=4): return a + b + c res = f_1(1, 2) + f_2(5, 5) print(res)
Ошибки здесь не будет, т.к. во второй функции используются значения по умолчанию, которые можно не указывать. Поэтому функцией будет возвращен результат вычисления выражения 5 + 5 + 4 .
13.7. * Выберите верные варианты вызова функции, определяемой инструкцией def func(x, y, z): pass ?
Варианты ответов: а) func(x, y=2, z=5), б) func(x=8, y, z), в) func(x=8, y=2, z), г) func(x, y, z=5). Показать решение.
Ответ. а) func(x, y=2, z=5), г) func(x, y, z=5).
Здесь нужно помнить, что первыми должны передаваться позиционные аргументы и только потом именованные. Это условие было нарушено вариантами б) и в) .
13.8. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 14, б) 15, в) 16, г) ошибка. Показать решение.
Условие pythonCodes
def f_1(a, b=2): return a + b def f_2(a, b, c=3): return a + b + c res = f_1(b=1, 2) + f_2(3, 4, c=5) print(res)
Опять же, первыми должны передаваться позиционные аргументы и только потом именованные. Правильно было бы написать f_1(2, b=1) , f_1(b=1, a=2) , f_1(a=2, b=1) или просто f_1(2, 1) .
13.9. * Какой из предложенных вариантов заголовка функции может использоваться для определения функции, принимающей переменное число аргументов?
Варианты ответов: а) def func_name(*args):, б) def func_name(**kwargs):, в) def func_name(*args, **kwargs):, г) все вышеуказанные. Показать решение.
Ответ. г) все вышеуказанные.
Первый вариант предполагает передачу произвольного числа позиционных аргументов (будут собраны в кортеж), второй – именованных (будут собраны в словарь), третий – и тех, и других.
13.10. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 6, б) [1, 2, 3], в) (1, 2, 3), г) ошибка. Показать решение.
Условие pythonCodes
def f_1(a, *b): return a + b print(f_1(1, 2, 3))
Сама функция определена на первый взгляд верно. Однако передача ей даже двух аргументов при вызове будет возбуждать ошибку, т.к. операция сложения чисел с кортежами в Питоне не предусмотрена.
13.11. * Выберите верные варианты вызова функции, определяемой инструкцией def func(x, *y, z): pass ?
Варианты ответов: а) func(1, 2, 3), б) func(1, 2, z=3), в) func(1, z=3), г) func(z=3, 1, 2). Показать решение.
Ответ. б) func(1, 2, z=3), в) func(1, z=3).
В первом варианте отсутствует передача обязательного именованного аргумента z , а в последнем именованный аргумент передается перед позиционными, что также запрещено.
13.12. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) (1,) , б) 1, 3, 4, в) (1, 3, 4), г) ошибка. Показать решение.
Условие pythonCodes
def func(*a, **b): print(a, b) func(1, x=3, y=4)
Определением функции подразумевается сбор всех позиционных аргументов в кортеж, а именованных в словарь.
13.13. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
Условие pythonCodes
x = 10 def func(): global x x = 20 func() print(x)
В теле функции интерпретатору сообщается о том, что необходимо использовать глобальную переменную (инструкция global x ).
13.14. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 20, б) 30, в) ничего, г) ошибка. Показать решение.
Условие pythonCodes
def func_1(): x = 20 def func_2(): nonlocal x x = 30 print(x) func_1()
Функция func_2 была определена, но не была вызвана.
13.15. * Какой из предлагаемых операторов можно использовать для создания анонимной функции?
Варианты ответов: а) def, б) lambda, в) yield, г) все вышеуказанные. Показать решение.
Инструкция yield используется для создания функций-генераторов.
13.16. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 10, б) 20, в) 30, г) ошибка. Показать решение.
Условие pythonCodes
x = 10 def func_1(): x = 20 def func_2(): global x x = 30 func_2() func_1() print(x)
Внутри функции func_1 использутеся локальная переменная x , а вот внутри вложенной функции func_2 – уже глобальная переменная. При этом функция func_2 не только определяется, но и вызывается при вызове родительской функции func_1 , что и приводит к изменению значения глобальной переменной.
13.17. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 4, б) 4.0, в) None, г) ошибка. Показать решение.
Условие pythonCodes
ld = lambda x, y=5: x/y if y != 0 else None print(ld(20))
Здесь объект анонимной функции присваивается переменной, а позже происходит обычный вызов функции, в которой один из аргументов имеет значение по умолчанию, а в теле используется разрешенное условное трехместное выражение. При этом следует помнить, что результатом операции деления целых чисел в любом случае будет вещественное значение.
13.18. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 9, б) 6.0, в) 9.0, г) ошибка. Показать решение.
Условие pythonCodes
ld = lambda x: if x>0: x**2 print(ld(3.0))
Внутри тела анонимной функции инструкции запрещены.
13.19. * Какие функции в Питоне называют рекурсивными?
Варианты ответов: а) функция, которая вызывает саму себя внутри своего тела, б) функция, которая вызывает другую функцию внутри своего тела, в) функция, которая одновременно не имеет параметров и возвращаемого значения, г) рекурсивные функции в Пайтоне запрещены. Показать решение.
Ответ. а) функция, которая вызывает саму себя внутри своего тела.
13.20. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 0, б) 25, в) 120, г) ошибка. Показать решение.
Условие pythonCodes
def factorial(n): if n == 0 or n == 1: return 1 else: return n*factorial(n - 1) print(factorial(5))
Если результат вызывает затруднения, еще раз внимательно почитайте пункт нашего учебника «Рекурсивные функции». После чего еще раз пройдитесь по всем этапам выполнения кода теста.
13.21. * Что будет выведено на экран в результате выполнения кода условия?
Варианты ответов: а) 3 + 5, б) 35, в) 3 + '''5''', г) ошибка. Показать решение.
Условие pythonCodes
def f(x): '''5''' return x res = f('3') + f.__doc__ print(res)
При вызове функции ей была передана строка, которая затем была в ходе этого вызова возвращена и объединена со строкой документации.
![]()
okpython.net Copyright © 2022-2023.
