Задачи по Python 3 для начинающих от Tproger и GeekBrains
Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.
Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.
Задача 1
Есть список a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
.
Выведите все элементы, которые меньше 5
.
Вариант решения
Самый простой вариант, который первым приходит на ум — использовать цикл for
:
for elem in a: if elem < 5: print(elem)
Также можно воспользоваться функцией filter
, которая фильтрует элементы согласно заданному условию:
print(list(filter(lambda elem: elem < 5, a)))
И, вероятно, наиболее предпочтительный вариант решения этой задачи — списковое включение:
print([elem for elem in a if elem < 5])
Задача 2
Даны списки:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
;
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
.
Нужно вернуть список, который состоит из элементов, общих для этих двух списков.
Вариант решения
Можем воспользоваться функцией filter
:
result = list(filter(lambda elem: elem in b, a))
Или списковым включением:
result = [elem for elem in a if elem in b]
А можно привести оба списка к множествам и найти их пересечение:
result = list(set(a) & set(b))
Однако в таком случае каждый элемент встретится в результирующем списке лишь один раз, т.к. множество поддерживает уникальность входящих в него элементов. Первые два решения (с фильтрацией) оставят все дубли на своих местах.
Задача 3
Отсортируйте словарь по значению в порядке возрастания и убывания.
Вариант решения
Импортируем нужный модуль и объявляем словарь:
import operator d = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
Сортируем в порядке возрастания:
result = dict(sorted(d.items(), key=operator.itemgetter(1)))
И в порядке убывания:
result = dict(sorted(d.items(), key=operator.itemgetter(1), reverse=True))
Задача 4
Напишите программу для слияния нескольких словарей в один.
Вариант решения
Допустим, вот наши словари:
dict_a = {1:10, 2:20} dict_b = {3:30, 4:40} dict_c = {5:50, 6:60}
Объединить их можно вот так:
result = {} for d in (dict_a, dict_b, dict_c): result.update(d)
А можно с помощью «звёздочного» синтаксиса:
result = {**dict_a, **dict_b, **dict_c}
О звёздочном синтаксисе можно прочитать в нашей статье.
Задача 5
Найдите три ключа с самыми высокими значениями в словаре my_dict = {'a':500, 'b':5874, 'c': 560,'d':400, 'e':5874, 'f': 20}
.
Вариант решения
Можно воспользоваться функцией sorted
:
result = sorted(my_dict, key=my_dict.get, reverse=True)[:3]
Аналогичный результат можно получить с помощью функции nlargest
из модуля heapq
:
from heapq import nlargest result = nlargest(3, my_dict, key=my_dict. get)
Читайте также: Всё о сортировке на Python
Задача 6
Напишите код, который переводит целое число в строку, при том что его можно применить в любой системе счисления.
Вариант решения
Второй аргумент функции int
отвечает за указание основания системы счисления:
print(int('ABC', 16))
Задача 7
Нужно вывести первые n строк треугольника Паскаля. В этом треугольнике на вершине и по бокам стоят единицы, а каждое число внутри равно сумме двух расположенных над ним чисел.
Вариант решения
def pascal_triangle(n): row = [1] y = [0] for x in range(max(n, 0)): print(row) row = [left + right for left, right in zip(row + y, y + row)] pascal_triangle(6)
Задача 8
Напишите проверку на то, является ли строка палиндромом. Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево.
Вариант решения
Тут всё просто, достаточно сравнить строку с её обратной версией, для чего можно использовать встроенную функцию reversed:
def is_palindrome(string): return string == ''. join(reversed(string)) print(is_palindrome('abba'))
Того же эффекта можно добиться с помощью срезов:
def is_palindrome(string): return string == string[::-1] print(is_palindrome('abba'))
Задача 9
Сделайте так, чтобы число секунд отображалось в виде дни:часы:минуты:секунды
.
Вариант решения
def convert(seconds): days = seconds // (24 * 3600) seconds %= 24 * 3600 hours = seconds // 3600 seconds %= 3600 minutes = seconds // 60 seconds %= 60 print(f'{days}:{hours}:{minutes}:{seconds}') convert(1234565)
Задача 10
Вы принимаете от пользователя последовательность чисел, разделённых запятой. Составьте список и кортеж с этими числами.
Вариант решения
values = input('Введите числа через запятую: ') ints_as_strings = values.split(',') ints = map(int, ints_as_strings) lst = list(ints) tup = tuple(lst) print('Список:', lst) print('Кортеж:', tup)
Задача 11
Выведите первый и последний элемент списка.
Вариант решения
lst = [1, 2, 3, 4, 5] print(f'Первый: {lst[0]}; последний: {lst[-1]}')
Задача 12
Напишите программу, которая принимает имя файла и выводит его расширение. Если расширение у файла определить невозможно, выбросите исключение.
Вариант решения
def get_extension(filename): filename_parts = filename.split('.') if len(filename_parts) < 2: # filename has no dots raise ValueError('the file has no extension') first, *middle, last = filename_parts if not last or not first and not middle: # example filenames: .filename, filename., file.name. raise ValueError('the file has no extension') return filename_parts[-1] print(get_extension('abc.py')) print(get_extension('abc')) # raises ValueError print(get_extension('.abc')) # raises ValueError print(get_extension('.abc.def.')) # raises ValueError
Задача 13
При заданном целом числе n посчитайте n + nn + nnn.
Вариант решения
def solve(n): n1 = n n2 = int(str(n) * 2) n3 = int(str(n) * 3) print(n1 + n2 + n3) solve(5)
Задача 14
Напишите программу, которая выводит чётные числа из заданного списка и останавливается, если встречает число 237.
Вариант решенияnumbers = [ 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, ] for x in numbers: if x == 237: break elif x % 2 == 0: print(x)
Задача 15
Напишите программу, которая принимает два списка и выводит все элементы первого, которых нет во втором.
Вариант решения
set_1 = set(['White', 'Black', 'Red']) set_2 = set(['Red', 'Green']) print(set_1 - set_2)
Задача 16
Выведите список файлов в указанной директории.
Вариант решения
from os import listdir from os.path import isfile, join files = [f for f in listdir('/home') if isfile(join('/home', f))] print(files)
Задача 17
Сложите цифры целого числа.
Вариант решения
def sum_digits(num): digits = [int(d) for d in str(num)] return sum(digits) print(sum_digits(5245))
Задача 18
Посчитайте, сколько раз символ встречается в строке.
Вариант решения
string = 'Python Software Foundation' string.count('o')
Задача 19
Поменяйте значения переменных местами.
Вариант решения
Можно написать монструозную конструкцию в стиле языка C:
x = 5 y = 10 temp = x x = y y = temp
Но в Python есть более удобный способ для решения этой задачи:
x = 5 y = 10 x, y = y, x
Задача 20
С помощью анонимной функции извлеките из списка числа, делимые на 15.
Вариант решения
nums = [45, 55, 60, 37, 100, 105, 220] result = list(filter(lambda x: not x % 15, nums))
Задача 21
Нужно проверить, все ли числа в последовательности уникальны.
Вариант решения
def all_unique(numbers): return len(numbers) == len(set(numbers))
Задача 22
Напишите программу, которая принимает текст и выводит два слова: наиболее часто встречающееся и самое длинное.
Вариант решения
import collections text = 'lorem ipsum dolor sit amet amet amet' words = text.split() counter = collections.Counter(words) most_common, occurrences = counter.most_common()[0] longest = max(words, key=len) print(most_common, longest)
***
Хотите вырасти от новичка до профессионала? Факультет Python-разработки GeekUniversity даёт год опыта для вашего резюме. Обучайтесь на практических заданиях, по-настоящему освойте Python и станьте ближе к профессии мечты.
Узнать больше
Учебные пособия по 3D Max для начинающих в формате PDF
Эта страница представляет собой исчерпывающее руководство по ИТ-теме 3D Max . Он охватывает основы 3D Max и предоставляет ценную информацию для тех, кто хочет улучшить свои навыки в области ИТ. В статье подчеркивается важность загрузки PDF-файлов для справки, а также советов и рекомендаций для эффективного обучения . Практические упражнения и 9Учебники 0003 для начинающих и продвинутые помогают удовлетворить разные уровни понимания. Страница завершается подчеркиванием возможностей для роста и развития, которые предоставляет 3D Max , что делает эту технологию незаменимой для всех, кто хочет повысить свои навыки в области ИТ. Загрузите бесплатные PDF-файлы, следуйте советам и рекомендациям, выполняйте упражнения и осваивайте учебные пособия для начинающих или продвинутых пользователей. Совершенствуйте свои ИТ-навыки уже сегодня!
Знакомство с 3D Max
3D Max — тема ИТ, которая в последнее время приобрела большую популярность. Это важная технология для профессионалов и частных лиц, которые хотят улучшить свои навыки в области ИТ. Являетесь ли вы новичком или продвинутым пользователем, 3D Max предоставляет широкие возможности для роста и развития. На этой странице мы углубимся в основы 3D Max , включая советы и рекомендации, практические занятия и упражнения, а также учебные пособия для начинающих и продвинутых.
Скачать 3D Max PDF
Один из лучших способов начать работу с 3D Max — загрузить PDF-файлы. Эти ресурсы содержат исчерпывающую информацию по теме и могут использоваться в качестве справочного руководства. Есть много веб-сайтов, которые предлагают бесплатные PDF-файлы в 3D Max. Эти ресурсы можно легко загрузить и использовать для изучения основ 3D Max.
Советы и рекомендации по 3D Max
Чтобы максимально эффективно использовать 3D Max, важно понимать некоторые советы и рекомендации. Вот некоторые из ключевых советов и приемов:
- Регулярно практикуйтесь
- Использовать онлайн-ресурсы
- Присоединяйтесь к форумам и сообществам
- Получите практический опыт
Практика и упражнения в 3D Max
Один из лучших способов улучшить свои навыки в 3D Max — регулярно тренироваться. В Интернете есть множество практических упражнений, которые помогут вам отточить свои навыки. Вот некоторые из лучших практик и упражнений:
- Полные руководства
- Практика кодирования
- Пройдите онлайн-тесты
- Работа над проектами
Учебники по 3D Max для начинающих и продвинутых пользователей
Независимо от того, являетесь ли вы новичком или продвинутым пользователем, для вас доступны учебные пособия. Учебники для начинающих представляют собой всестороннее введение в 3D Max и предназначены для того, чтобы помочь вам понять основы. С другой стороны, расширенные учебные пособия предназначены для тех, кто хорошо разбирается в технологии и хочет еще больше улучшить свои навыки.
Заключение
3D Max — необходимая технология для всех, кто хочет улучшить свои навыки в области ИТ. Имея ряд доступных ресурсов, включая PDF-файлы, советы и рекомендации, практические занятия и упражнения, а также учебные пособия для начинающих и продвинутых, каждый может изучить 3D Max. Итак, загрузите свои ресурсы сегодня и начните свой путь к тому, чтобы стать экспертом в 3D Max.
Учебные пособия по 3D Max в формате PDF
Многочисленные отличные учебные пособия , книги , Упражнения в 3D Max и другие ресурсы доступны в Интернете. Я составил список лучших для вашего удобства. Давайте начнем без дальнейших церемоний!
Введение в Blender 3D
- Описание:
- Загрузить An Introduction to Blender 3D — книга для начинающих, учебные пособия в формате PDF от Джона М. Блейна. — Онлайн-учебник для Новичок
- Размер :
- 12,33 МБ
- Скачиваний :
- 333
Введение в 3D компьютерную графику
- Описание:
- Скачать бесплатно Введение в трехмерную компьютерную графику, материалы курса и обучение, PDF-файл на 120 страницах. — Онлайн-учебник для Новичок
- Размер :
- 472,21 КБ
- загрузок :
- 5707
Введение в программирование с помощью Java 3D
- Описание :
- Скачать бесплатно материалы курса Introduction to Programming with Java 3D, учебное пособие, PDF-файл Генри А. Совизрала, Дэвида Р. Надо. — Онлайн-учебник для Передовой
- Размер :
- 2,58 МБ
- загрузок :
- 4356
Проектирование 3D-графики в реальном времени
- Описание:
- Скачать бесплатно материалы курса «Проектирование 3D-графики в реальном времени для развлечений» и учебное пособие, PDF-файл на 272 страницах. — Онлайн-учебник для Новичок
- Размер :
- 1,75 МБ
- загрузок :
- 5796
Разработка 3D-игр с LWJGL 3
- Описание:
- Начните разработку 3D-игр с помощью LWJGL 3 с помощью этого исчерпывающего руководства по электронной книге в формате PDF. Изучите с нуля передовые методы, охватив такие ключевые темы, как игровой цикл, преобразования, текстуры, освещение, анимация и многое другое. — Онлайн-учебник для Передовой
- Размер :
- 3,06 МБ
- загрузок :
- 710
Как использовать 3ds Max для дизайна интерьера
Описание
Если вы дизайнер интерьеров или архитектор, ищущий способы улучшить свои навыки 3D-рендеринга, вы, вероятно, слышали о 3D Max и VRay. Это одни из самых популярных программ компьютерной графики для анимации и рендеринга изображений. И если вы хотите стать настоящим архитектором или дизайнером интерьеров, вы должны изучить 3D-рендеринг, чтобы показать своим клиентам, как может выглядеть их возможный новый дом. Присоединяйтесь к этому онлайн-курсу по 3ds Max и научитесь использовать 3ds Max для дизайна интерьера.
Зачем вам нужен учебник по Vray 3ds Max?Если вы каким-либо образом связаны с деятельностью, требующей потрясающих визуализаций, изучение 3D-рендеринга является обязательным. Многие компании, в которые вы могли бы обратиться в поисках работы, спросят вас, знаете ли вы, как использовать 3ds Max. Почему? Что ж, 3D-рендеринг позволяет создавать удивительные визуальные представления объектов, которые еще не созданы — это очень полезно (и даже необходимо) в таких областях, как архитектура или дизайн интерьера. И зная, как использовать эти инструменты, изучая 3D-рендеринг, вы также повышаете свои шансы получить работу своей мечты.
Одним из способов изучения этого навыка является посещение курсов 3D-рендеринга. Это руководство по рендерингу в 3ds Max — именно то, что вам может понадобиться: оно быстрое (всего 2 часа), содержит множество практических упражнений, которые можно использовать для изучения 3D-рендеринга.
Зачем доверять этому руководству по 3ds Max?Всю информацию вы получите от человека, имеющего более 10 лет опыта работы в сфере 3D визуализации. Кроме того, это одновременно и учебник по Vray, так что у вас будет возможность узнать, как использовать Vray для 3ds Max. Я вложил все свои знания и опыт в это руководство по дизайну интерьера в 3ds Max!
Этот курс 3D-рендеринга предложит вам четко определенную структуру. Больше не нужно беспокоиться о том, что инструктор прыгает с места на место и не может объяснить одну вещь, не упомянув о трех других. Учебное пособие по 3ds Max предоставит вам четкую структуру для изучения и выполнения. Таким образом, вы можете выполнять все задачи в этом руководстве по дизайну интерьера в 3ds Max, как это сделал бы профессиональный дизайнер интерьеров.
Кто может пройти курс по дизайну интерьера в 3ds Max?Если вы архитектор, дизайнер интерьеров или кто-то, кто хотел бы изучить 3D-рендеринг и использовать Vray для расширения своих карьерных возможностей в будущем, вы идеальный кандидат на онлайн-курс 3ds Max!
Кроме того, у этого учебника по 3ds Max очень мало требований. Это плюс, если вы уже знакомы с 3D Max и Vray. Однако, если нет, не волнуйтесь — мы возьмем его сверху и узнаем все, что нам нужно, чтобы перейти на следующий уровень.
Присоединяйтесь к моему руководству по 3ds Max и правильно изучите 3D-рендеринг. Постройте свой карьерный путь в области дизайна интерьера/архитектуры с помощью этих первых шагов в моем онлайн-курсе по 3ds Max.
Показать больше Показать меньше
Чему вы научитесь?
- Как сделать 3D визуализацию
- Как создавать реалистичные фоторендеры
- Научитесь потрясающей постобработке в Photoshop
- Изучите основные отраслевые навыки
- Как улучшить качество 3D-рендеринга
Требования
- Чтобы иметь возможность использовать 3D Max и VRay (на базовом уровне)
- Опыт в 3D-рендеринге — большой плюс
- Сертификат NFT
- 23 урока
- Новичок
- Английский
- +100 опыта
Поделиться курсом в социальных сетях
Учебный план
Курс состоит из всего 1 час 55 минут контента
Введение в 3D-рендеринг интерьера с помощью 3ds Max + Vray: самый быстрый способ
Смотреть сейчас
00:57
Как использовать этот курс
00:48
3D-рендеринг студийной сцены с помощью 3ds Max и Vray
Смотреть сейчас
04:54
Моделирование оболочки из планов в 3ds Max
07:33
Копирование и вставка между сценами 3ds Max
00:42
Добавление мебели и реквизита в 3ds Max
06:11
Добавление окон и штор в сцену 3ds Max
03:46
Добавление деревянных полов в 3ds Max
03:59
Добавление камеры Vray, источников света и предварительный просмотр в 3ds Max
09:42
Создание базовых материалов Vray в 3ds Max
05:47
UVW Mapping в 3ds Max
02:56
Использование нескольких подобъектов в 3ds Max
03:02
Материалы в нашей сцене 3ds Max
06:57
Добавление внешнего фонового изображения
06:49
Рендеринг окончательного изображения с помощью Vray
02:56
Как установить маску визуализации для 3ds Max 2018 и более поздних версий
01:04
Постобработка при 3D-рендеринге в Photoshop
12:29
Как использовать глубину резкости для съемки крупным планом в 3ds Max и Vray
03:29
Как использовать смарт-слои в 3D-рендеринге в Photoshop
03:46
Как сделать 360 3D визуализацию для виртуальной реальности в 3ds Max и Vray Часть 1
06:23
Как сделать 360 3D визуализацию для виртуальной реальности в 3ds Max и Vray Часть 2
12:08
Как развернуть UVW
04:38
Как организовать библиотеку 3D-мебели и управлять ею
04:40
Об инструкторе
Джейк имеет более чем десятилетний опыт работы с 3D-визуализацией.