(a == [2,0,2]).all(axis=2)
>>> a = np.array([[[1, 0, 0], [2, 0, 1], [2, 0, 2]], [[0, 0, 0], [2, 0, 3], [0, 0, 0]]])
>>> a == [2,0,2]
array([[[False, True, False],
[ True, True, False],
[ True, True, True]],
[[False, True, False],
[ True, True, False],
[False, True, False]]])
>>> (a == [2,0,2]).all(axis=2)
array([[False, False, True],
[False, False, False]])
print('Привет,', name, '!', sep='')
print('Привет,', name, '!', sep='::')
class Umar():
def __init__(self, firstname, lastname, patronymic, age, birthday, jobs, car):
... # тут код инициализации класса
#эти функции можно сделать методами класса,
# но я бы рекомендовал оставить их вне класса,
# так как способы ввода/вывода варьируются чаще,
# чем способы хранения данных.
# красивый вывод содержимого класса
def pretty_print_umar(u: Umar):
print('Имя:', u.firstname)
... # ну и так далее
# ввод данных с клавиатуры и создание по ним экземпляра класса
def input_umar() -> Umar:
firstname = input('Введите имя [Enter - отмена]:')
if not firstname:
return
# и так далее для остальных полей, а затем
return Umar(firstname, ...)
1. Берём проверяемое число N, создаём пустой набор делителей. Принимаем последний множитель K = 2.
2. Пока N > 1:
3. Цикл по i от K до корня из N
4. Если N делится на i, то i - делитель. Тогда
5. Принимаем K = i, делим N нацело на i, добавляем i в набор найденных делителей, прерываем цикл 3.
6. Если цикл 3. не был прерван, то текущее N - простое. Добавляем N в набор делителей, прерываем цикл 2.
7. Возвращаем построенный набор делителей.
#even и odd - счётчики чётных/нечётных цифр, при первом вызове должны быть 0
def recursive_counter(number, even = 0, odd = 0):
#проверяем, не пора ли остановить рекурсию:
if number <= 0: #дошли до нуля - пора. Кроме того, с отриц. числами будут проблемы.
return even, odd #возвращаем кортеж значений
#отрезаем от числа последнюю цифру делением на 10.
#divmod() - встроенная функция питона
reduced_number, last_digit = divmod(number, 10)
if last_digit % 2 == 0: #последняя цифра чётная
#значит, на одну больше чётную цифру
return recursive_counter(reduced_number, even+1, odd) #уходим в рекурсию
else: #последняя цифра нечётная
#значит, на одну больше нечётную цифру
return recursive_counter(reduced_number, even, odd+1) #уходим в рекурсию
N = 1234567890
even, odd = recursive_counter(N) #распаковываем кортеж, который вернула функция
print(f'В числе {N} есть {even} чётных цифр и {odd} нечётных.')
if __name__ == '__main__':
banner (bytes) – A bytes-like object representing the banner. Could be None to denote removal of the banner.
number1 = message.text.split()[1] #вытащили нужный кусок строки
try:
number_value = int(number1) #int() выбросит исключение ValueError, если строка не является записью числа
if not (0 < number_value <= 1000):
raise ValueError() #мы сами выкинем ValueError, если число недопустимое
except ValueError:
await message.answer('введите число от 1 до 1000') #ругаем пользователя
return #завершаем обработку команды
#если управление дошло досюда, число number_value допустимое.