Pythonist.ru - образование по питону
25.7K subscribers
209 photos
5 videos
5 files
1.05K links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

РКН: https://kurl.ru/WPjOT
Download Telegram
Задача с кодом. Spongecase

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

Примечания:

- В выводе первая буква строки должна быть в верхнем регистре
- Пробелы игнорируем

Примеры:

alternating_caps("Hello") 
➞ "HeLlO"

alternating_caps("How are you?")
➞ "HoW aRe YoU?"

alternating_caps("OMG this website is awesome!")
➞ "OmG tHiS wEbSiTe Is AwEsOmE!"

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

#задача #coding
Задачка для начинающих

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

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

Используйте вложенный цикл 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
Задача с кодом. Гистограммы

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

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

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

Примеры:

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

#
###
####

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

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

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

+
++++++++++

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

#задача #coding
Задачка для начинающих

Напишите программу для нахождения 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
Задачка для начинающих

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

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

#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
Задача на логику. Торт

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

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

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

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

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

Напишите код для преобразования кортежа строк в одну строку.

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

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

tup = ('e', 'x', 'e', 'r', 'c', 'i', 's', 'e', 's')
str = ''.join(tup)
print(str)

#coding #beginner
Задача на логику. Пицца

На какое максимальное количество частей (любого размера) можно разделить пиццу за шесть разрезов?

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

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

Пиццу можно разделить на 22 части.

#логическаязадача
Задача с кодом. Как произносится «X»?

В английском языке буква «x» чаще произносится как «кс», но бывает, что и как «з». Например, транскрипция слова xerox — [ˈzɪərɔks].

Напишите функцию, которая будет принимать строку на английском языке и заменять все «x» на «cks».

Исключения:

- Если слово начинается с буквы «x», меняем ее на «z»
- Если слово представляет собой одиночную букву «x», меняем ее на «ecks»

Все «x» будут в нижнем регистре.

Примеры:

x_pronounce("Inside the box was a xylophone") ➞
"Inside the bocks was a zylophone"

x_pronounce("The x ray is excellent") ➞
"The ecks ray is eckscellent"

x_pronounce("OMG x box unboxing video x D") ➞
"OMG ecks bocks unbocksing video ecks D"

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

#задача #coding
Задача с кодом. Упорядоченные списки

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

Примеры:

check([1, 2, 3]) ➞ "increasing"
check([3, 2, 1]) ➞ "decreasing"
check([1, 2, 1]) ➞ "neither"
check([1, 1, 2]) ➞ "neither"

Примечания:

- В последнем примере список не считается упорядоченным по возрастанию, потому что единица под индексом 1 не больше, чем единица под индексом 0.
- Передаваемые списки будут содержать минимум 2 числа.

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

#задача #coding
Задача на логику. Самые быстрые лошади

Есть конюшня с 25 лошадьми, а вам нужно выявить 3 самых быстрых из них.

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

При этом по результатам забега вы можете определять только относительную скорость (т.е., например, 1-я и 3-я лошади пробежали одинаково и при этом быстрее остальных в этом забеге), но не абсолютную (в км/ч).

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

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

#логическаязадача
Тест на знание языка Python

Привет, друзья! Предлагаем пройти тест на знание Python, в котором собраны вопросы по разным аспектам языка.

Будем благодарны, если напишете в комментариях свое мнение об уровне и качестве вопросов!

#тест