Pythonist.ru - образование по питону
26.3K subscribers
82 photos
1 video
937 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Задача на логику. Число 24

Используя числа 1, 3, 4, 6, арифметические операции (сложение, вычитание, умножение, деление) и скобки, получите число 24.

Разрешается использовать только эти числа и только эти операции. Каждое число должно использоваться только один раз. Операции и скобки можно использовать любое число раз. Нельзя объединять цифры, составляя, например, 13 или 146.

Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.

#логическаязадача
Ответ к задаче "Число 24"

6 / ( 1 - ( 3 / 4 ) ) = 24

#логическаязадача
Задачка для начинающих

Напишите программу для рисования следующего паттерна:

* 
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*

Используйте вложенный цикл for.

Пишите ответы в комментариях, а мы свой вариант опубликуем завтра.

#coding #beginner
Задачка для начинающих. Ответ

n = 5
for i in range(n):
for j in range(i):
print('* ', end="")
print('')

for i in range(n, 0, -1):
for j in range(i):
print('* ', end="")
print('')

#coding #beginner
Топ. Сортировка словаря по значению

Словари в Python не имеют специальных методов, позволяющих сортировать элементы по значениям. Поэтому сортировка словаря по значению осуществляется при помощи других структур данных.

Читать статью

#топ
Задача с кодом. Гистограммы

Напишите функцию, создающую гистограммы. Она должна принимать список целых чисел и строку — символ, который будет формировать столбцы (впрочем, скорее строки) гистограммы.

Гистограмма должна содержать столько строк, сколько чисел в списке. Каждое из этих чисел должно определять длину строки (т. е., сколько раз выведется указанный символ).

При распечатке результата строки должны выводиться одна под другой.

Примеры:

histogram([1, 3, 4], "#") 
➞ "#\n###\n####"

#
###
####

histogram([6, 2, 15, 3], "=")
➞ "======\n==\n===============\n==="

======
==
===============
===

histogram([1, 10], "+")
➞ "+\n++++++++++"

+
++++++++++

Решение на нашем сайте.

#задача #coding
Строки в Python

Данная статья является полным руководством по использованию строк в Python. Прочитав ее, вы узнаете, как создавать строки и работать с ними. В частности, мы рассмотрим:
- создание строк
- индексацию строк
- работу с подстроками
- использование методов строк.

Читать статью

#строки
Задача на логику. Алиса, Лев и Единорог

Однажды Алиса повстречала Льва и Единорога, отдыхавших под деревом. Странные это были существа. Лев лгал по понедельникам, вторникам и средам и говорил правду во все остальные дни недели. Единорог же вел себя иначе: он лгал по четвергам, пятницам и субботам и говорил правду во все остальные дни недели.

Они высказали следующие утверждения:

Лев: Вчера был один из дней, когда я лгу.
Единорог: Вчера был один из дней, когда я тоже лгу.

Из этих двух высказываний Алиса сумела вывести, какой день недели был вчера.

Что это был за день?

Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.

#логическаязадача
Задачка для начинающих

Напишите программу для нахождения 10 наиболее часто встречающихся слов в тексте. Выведите сами слова и их количество.

Вывод:
[('Python', 6), ('the', 6), ('and', 5), ('We', 2), ('with', 2), ('The', 1), ('Software', 1), ('Foundation', 1), ('PSF', 1), ('is', 1)]

Текст:

The Python Software Foundation (PSF) is a 501(c)(3) non-profit corporation that holds the intellectual property rights behind the Python programming language. We manage the open source licensing for Python version 2.1 and later and own and protect the trademarks associated with Python. We also run the North American PyCon conference annually, support other Python conferences around the world, and fund Python related development with our grants program and by funding special projects.

Пишите ответы в комментариях, а мы свой вариант опубликуем завтра.

#coding #beginner
Ответ к задаче "Алиса, Лев и Единорог"

Лев мог сказать, что он лгал накануне, только в понедельник и в четверг. Единорог мог сказать, что он лгал накануне, только в четверг и в воскресенье. Следовательно, они оба могли утверждать, что лгали накануне, только в четверг.

#логическаязадача
Задачка для начинающих. Ответ

from collections import Counter
import re

text = """The Python Software Foundation (PSF) is a 501(c)(3) non-profit corporation that holds the intellectual property rights behind the Python programming language. We manage the open source licensing for Python version 2.1 and later and own and protect the trademarks associated with Python. We also run the North American PyCon conference annually, support other Python conferences around the world, and fund Python related development with our grants program and by funding special projects."""

words = re.findall('\w+', text)
print(Counter(words).most_common(10))

#coding #beginner
Задача с кодом. Длина окружности или периметр квадрата?

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

Функция будет принимать букву и число. Буква будет определять геометрическую фигуру:
- s — квадрат
- c — круг

Если в функцию передана буква s, то второй аргумент, число, считается длиной стороны квадрата. В противном случае число считается радиусом круга.

При написании функции из операторов можно использовать только арифметические и операторы сравнения. То есть, никаких:
- инструкций if… else
- словарей
- лямбд
- методов форматирования

Цель — написать короткий код без ветвления. Округлять ничего не нужно.

Примеры:

perimeter("s", 7) ➞ 28
perimeter("c", 4) ➞ 25.12
perimeter("c", 9) ➞ 56.52

Решение на нашем сайте.

#задача #coding
Строки. Как преобразовать строку в словарь в Python

В этой статье мы на примерах разобрали три способа преобразовать строку в словарь: при помощи функции json.loads() из модуля json, функции ast.literal.eval() из модуля ast и при помощи генераторного выражения.

#строки
Задача на логику. Что дороже?

Один сапфир и два топаза
ценней, чем изумруд, в три раза.

А семь сапфиров и топаз
его ценнее в восемь раз.

Определить мы просим вас,
сапфир ценнее иль топаз?

Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.

#логическаязадача
Ответ к задаче "Что дороже?"

x+2y=3z
7x+y=8z

x=y=z

Все камни в одну цену.

#логическаязадача
Задачка для начинающих

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

Пишите ответы в комментариях, а мы свой вариант опубликуем завтра.

#coding #beginner
Задачка для начинающих. Ответ

setx = set(["зеленый", "синий"])
sety = set(["синий", "желтый"])

print("\nПересечение множеств:")
setz = setx & sety
print(setz)

#coding #beginner
Задача с кодом. Накапливающаяся сумма

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

Если в функцию передан пустой список, она должна и вернуть пустой список.

Примеры:

accumulating_list([1, 2, 3, 4]) ➞ [1, 3, 6, 10]
# 1 ➞ 1
# 1 + 2 ➞ 3
# 1 + 2 + 3 ➞ 6
# 1 + 2 + 3 + 4 ➞ 10
# т.о. получаем [1, 3, 6, 10]

accumulating_list([1, 5, 7]) ➞ [1, 6, 13]
accumulating_list([1, 0, 1, 0, 1]) ➞ [1, 1, 2, 2, 3]
accumulating_list([]) ➞ []

Решение на нашем сайте.

#задача #coding
Списки. Как проверить, есть ли элемент в списке

В этой статье мы рассмотрели на примерах, как проверить, есть ли элемент в списке. Для проверок мы использовали оператор in, цикл for, методы any() и count().

#списки
Задача на логику. Торт

У вас есть шоколадный торт. Нужно разрезать его тремя разрезами на 8 равных частей. Как это сделать?

Пишите свои варианты в комментариях, а правильный ответ мы опубликуем завтра.

#логическаязадача
Ответ к задаче "Торт"

Нужно разрезать торт крест-накрест двумя разрезами и еще один разрез сделать поперек торта.

#логическаязадача