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
Задачка для начинающих. Ответ

models = [{'make': 'Nokia', 'model': 216, 'color': 'Black'},
{'make': 'Mi Max', 'model': '2', 'color': 'Gold'},
{'make': 'Samsung', 'model': 7, 'color': 'Blue'}]
print("Исходный список словарей:")
print(models)

sorted_models = sorted(models, key=lambda x: x['color'])
print("\nОтсортированный список словарей:")
print(sorted_models)

#coding #beginner
Задача с кодом. Наибольшее абсолютное значение

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

Например, если передан список [1, 2, 3, 4, 0, 0, -3, -2], функция вернет 10, потому что:
- сумма положительных чисел = 1 + 2 + 3 + 4 = 10
- сумма отрицательных чисел = (-3) + (-2) = -5
- количество нулей = 2
- 10 > 5 и 10 > 2

Исходим из того, что пустых списков не будет, а числа всегда будут целыми.

Примеры:

major_sum([1, 2, 3, 4, 0, 0, -3, -2]) ➞ 10
major_sum([-4, -8, -12, -3, 4, 7, 1, 3, 0, 0, 0, 0]) ➞ -27
major_sum([0, 0, 0, 0, 0, 1, 2, -3]) ➞ 5
# Потому что -3 < 1+2 < 5
# (5 - количество нулей)

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

#задача #coding
Задача на логику. Сколько лет девочкам?

У Сергея три дочери. Его друг Александр, пришедший в гости, хочет узнать, сколько им лет. Сергей (вот затейник!) не отвечает прямо, а дает подсказки, чтоб Александр не расслаблялся и сам считал.

1. “Произведение возрастов моих дочерей — 72”.
Александр подумал и ответил, что информации маловато.

2. “Сумма их возрастов — номер моего дома”.
Александр вышел, глянул на номер и ответил, что информации по-прежнему не хватает.

3. “Старшая из моих дочерей любит клубничное мороженое”.
Тут-то Александр, конечно, догадался, сколько лет дочерям Сергея. А вы?

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

#логическаязадача
Ответ к задаче "Сколько лет девочкам?"

Возраст дочерей Сергея — 3, 3 и 8 лет.

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

Напишите программу для проверки, входит ли указанное число в заданный диапазон чисел.

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

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

def test_range(n, x, y):
if n in range(x, y):
print(" %s входит в диапазон" % str(n))
else:
print("Это число не входит в диапазон.")


test_range(3, 3, 9)

#coding #beginner
Задача с кодом. 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