⚡️ Задача с собеседования |: #Junior
Условие:
Ваша задача — написать функцию, которая находит сумму всех цифр в числе. На вход также могут пойти и числа меньше нуля — их стоит переводить в неотрицательное числа.
Пример:
Знак "_" в числах может использоваться для упрощения чтения пользователем.
👉 Пишите ваше решение в комментариях👇
@python_job_interview
Условие:
Ваша задача — написать функцию, которая находит сумму всех цифр в числе. На вход также могут пойти и числа меньше нуля — их стоит переводить в неотрицательное числа.
Пример:
1234 → 10
-9876 → 30
7013 → 11
100001 → 2
Знак "_" в числах может использоваться для упрощения чтения пользователем.
1_000_000
— это то же самое, что и 1000000
👉 Пишите ваше решение в комментариях👇
@python_job_interview
👍4🔥3❤1
⚡️ Задача с собеседования |: #Junior
Условие
Числа Фибоначчи представляют последовательность, получаемую в результате сложения двух предыдущих элементов.
Начинается коллекция с чисел 1 и 1.
Она достаточно быстро растет, поэтому вычисление больших значений занимает немало времени.
Создайте функцию
Для реализации этой функции потребуется обратиться к инструкции
Она не сохраняет в оперативной памяти огромную последовательность, а дает возможность “доставать” промежуточные результаты по одному.
Необходимо превратить функцию в генератор при помощи инструкции yield, чтобы вычисления осуществлялись не сразу, а по мере надобности.
Решение
👉 Пишите свое решение в комментариях👇
@python_job_interview
Условие
Числа Фибоначчи представляют последовательность, получаемую в результате сложения двух предыдущих элементов.
Начинается коллекция с чисел 1 и 1.
Она достаточно быстро растет, поэтому вычисление больших значений занимает немало времени.
Создайте функцию
fib(n)
, генерирующую n чисел Фибоначчи с минимальными затратами ресурсов.Для реализации этой функции потребуется обратиться к инструкции
yield
. Она не сохраняет в оперативной памяти огромную последовательность, а дает возможность “доставать” промежуточные результаты по одному.
Необходимо превратить функцию в генератор при помощи инструкции yield, чтобы вычисления осуществлялись не сразу, а по мере надобности.
Решение
def fib(n):
fib0 = 1
yield fib0
fib1 = 1
yield fib1
for i in range(n - 2):
fib0, fib1 = fib1, fib0 + fib1
yield fib1
# Тест
for num in fib(112121):
pass
print(num)
👉 Пишите свое решение в комментариях👇
@python_job_interview
👍7❤6🔥1
#junior
"Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на '$', кроме самого первого символа."
Пример:
print(change_char('restart'))
»»» resta$t
👉 Пишите ваше решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1
Ответ
s = 'To be, or not to be, that is the question!'
new_s = ''
eng_lower_alphabet = 'abcdefghijklmnopqrstuvwxyz'
eng_upper_alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for i in range(len(s)):
if s[i].isupper():
ind = eng_upper_alphabet.find(s[i])
while not ind + 17 < len(eng_upper_alphabet):
eng_upper_alphabet += eng_upper_alphabet
new_s += eng_upper_alphabet[ind + 17]
elif s[i].islower():
ind = eng_lower_alphabet.find(s[i])
while not ind + 17 < len(eng_lower_alphabet):
eng_lower_alphabet += eng_lower_alphabet
new_s += eng_lower_alphabet[ind + 17]
else:
new_s += s[i]
print(new_s)
Kf sv, fi efk kf sv, kyrk zj kyv hlvjkzfe!
#junior
Пишите свое решение в комментариях👇
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1👎1
Дан родительский класс и дочерний, который наследуется от него
class Parent():
def test(self):
print('inside parent')
class Child(Parent):
def test(self):
print('inside child')
при вызове метода экземпляра дочернего класса с тем же названием вызывается функция из дочернего класса, перезаписываем родительскую
>>> b1 = Child()
>>> b1.test()
inside child
>>>
Вопрос: можно ли сделать так чтобы дочерний метод не перезаписывал родительский, а добавлялся к нему и они выполнялись бы вместе и поочередно (сначала родительский потом дочерний)? Чтобы получилось вот так:
>>> b1.test()
inside parent
inside child
>>>
Ответ
Для этого можно вызвать функцию в родительском классе при помощи
super().
class Parent:
def test(self):
print('inside parent')
class Child(Parent):
def test(self):
super().test()
print('inside child')
b1 = Child()
b1.test()
Вывод:
inside parent
inside child
Подробнее про функцию
super()
можете почитать в документации.#junior
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2🔥1
Для генерации случайных чисел нужно импортировать модуль random, в котором есть несколько подходящих функций:
random() возвращает случайно число (class 'float') в диапазоне от 0.0 до 1.0 (верхняя граница не входит в диапазон).
from random import random
random() # 0.3380967837329142
random() # 0.07200652051529788
randint(start, stop) возвращает случайное число (class 'int') в диапазоне от start до stop (обе границы включены в диапазон).
from random import randint
randint(1, 7) # 4
randint(1, 7) # 2
randrange(start, stop, step) возвращает случайное число (class 'int') из последовательности от start до stop (верхняя граница не входит в диапазон) с шагом = step. Параметры start и step необязательные, по умолчанию start = 0, step = 1.
from random import randrange
randrange(4) # 1
randrange(4) # 3
random.randrange(4, 10) # 6
random.randrange(4, 10) # 9
random.randrange(4, 10, 2) # 4
random.randrange(4, 10, 2) # 8
#junior
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3❤1
При работе со списками в Python существует два подхода. Первый – это изменить имеющийся список. Говорят, отсортировать по месту:
>>> nums = [5, 3, 4, 1, 2]
>>> nums.sort()
>>> nums
[1, 2, 3, 4, 5]
>>>
Второй способ – создать новый массив с упорядоченными элементами:
>>> nums = [5, 3, 4, 1, 2]
>>> sorted(nums)
[1, 2, 3, 4, 5]
>>> nums # в исходном списке порядок элементов сохранился
[5, 3, 4, 1, 2]
>>>
Пишите свое решение в комментариях👇
#junior
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4❤1
Напишите функцию, которая переворачивает булево значение и возвращает строку
“boolean expected”,
если передан другой тип переменной.”Пример:
reverse(True) ➞ False
reverse(False) ➞ True
reverse(0) ➞ "boolean expected"
reverse(None) ➞ "boolean expected"
Пишите свое решение в комментариях👇
#junior
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2🔥1
Условие: Длинна трассы — 43872 м, а зрители хотят узнать имя победителя.
Нам известны средние скорости трёх фаворитов – Пети, Васи и Толи. Помогите подвести итоги гонки.
• Формат ввода
В первой строке записана средняя скорость Пети.
Во второй — Васи.
В третьей — Толи.
• Формат вывода
Имена победителей в порядке занятых мест.
• Пример 1
Ввод
10
5
7
• Вывод
1. Петя
2. Толя
3. Вася
• Код:
Пишите свое решение в комментариях👇
#junior
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1
Задача на сложение матриц
Уровень: новичок
Напишите функцию (без использования
// returns:
[ [3, 4, 4],
[6, 4, 4],
[2, 2, 4] ]
#junior #numpy
Пишите свое решение в комментариях👇
@python_job_interview
Уровень: новичок
Напишите функцию (без использования
numpy.matrix.sum())
, которая складывает две квадратные матрицы и возвращает их сумму. Все элементы матриц — целочисленные значения.
matrixAddition(
[ [1, 2, 3],
[3, 2, 1],
[1, 1, 1] ],
// +
[ [2, 2, 1],
[3, 2, 3],
[1, 1, 3] ] )
// returns:
[ [3, 4, 4],
[6, 4, 4],
[2, 2, 4] ]
#junior #numpy
Пишите свое решение в комментариях👇
@python_job_interview
👍12❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Что выведет этот Python код ? #junior #python
Задача для новичков.
Списки изменяемы и не могут быть элементами множества, но кортежи — неизменяемы и хэшируемы, поэтому кортеж из списка успешно добавится во множество.
Задача для новичков.
s = set()
a = [1, 2, 3]
s.add(tuple(a))
print(s)
👍4❤3🔥2🥰1