/
Nik_voz
/
rgpu_python_analysis
Обзор
Документация
Войти
/
Nik_voz
/
rgpu_python_analysis
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
python_analysis/loops.py
84 строки
2 KB
«Nick-voz»
feat: Add loops exercises
19 фев 2025, 08:45
19 фев 2025, 08:45
6c7c6c6
Код
Авторство
О чём код?
from math import sqrt def loops_1(a: int, b: int) -> int: _b = b**2 if a > _b: raise ValueError(f"{a=} must be less then b^2={_b}") return sum((e for e in range(a, _b + 1))) def loops_2(n: int) -> int: for i in range(int(sqrt(n)) + 2): if i**2 > n: return i**2 raise ValueError( "Unexpected case: loop ended without the condition being met" ) def loops_3(n: int) -> int | None: devisor = None for i in range(2, int(sqrt(n)) + 1): if n % i == 0: devisor = i break return devisor def loops_4() -> tuple[float, float, float] | None: _sum = None _min = float("inf") _max = -float("inf") while True: try: new = float(input()) except ValueError: continue if new == 0: break if new < 0: raise ValueError("weight must be more then zero") _sum = _sum + new if _sum else new _min = min(_min, new) _max = max(_max, new) if _sum is None: return return _sum, _min, _max def loops_5() -> tuple[int, int] | None: less_two_counter = multiple_of_five_counter = 0 while True: try: new = int(input()) except ValueError: continue if new == 0: break if new < 0: raise ValueError("Number must be more then zero") if new < 2: less_two_counter += 1 if new % 5 == 0: multiple_of_five_counter += 1 return less_two_counter, multiple_of_five_counter def loops_6(a: int, c: int) -> list[int]: return [e for e in range(a, a * c + 1) if e % a == 0]