This commit is contained in:
2025-10-23 19:58:49 +05:00
parent a94433a226
commit e4a890e01c

View File

@@ -1,34 +1,75 @@
def one_task(): #====
# Tasks
#====
def one_task(): # Форматированный текст при помощи табуляции.
print("\n\"Don\'t compare yourself with anyone in this world...if you do so, you are insulting\nyourself.\"" print("\n\"Don\'t compare yourself with anyone in this world...if you do so, you are insulting\nyourself.\""
"\n\nBill Gates \n") "\n\nBill Gates \n")
def two_task(): def two_task(): # Четные числа
list_numbers=[] list_numbers=[]
one_num = int(input("1_число :: ")) one_num = int(input("1_число :> "))
two_num = int(input("2_число :: ")) two_num = int(input("2_число :> "))
for nums in range(one_num,two_num+1): for nums in range(one_num,two_num+1):
if nums%2==0: if nums%2==0:
nums.append() list_numbers.append(nums) # Добавление числа в список
print(f"Четные числа: {nums}") print("Четные числа:",*list_numbers) # Вывод чисел без скобок через операнд распаковки *
def tasks(ans): def thr_task(): # Квадрат
# Перевод булева значения в true или false если у них низкие буквы
def to_bool(bool_str):
if bool_str.lower() == "true":
return True
elif bool_str.lower() == "false":
return False
else:
return True
# Интерактивное меню
def interact():
print("напишите значения в строку так: \"(ширина) (высота) (Заполнять квадрат(булево значение!) (патерн внутри если заполнять квадрат))\"\n"
"Обязательно заполнять аргументы через пробел! Допустимо через - или ,")
answer = input(":> ") # опрашиваю пользователя, как в bash с $1/$2/$n....
lis = answer.split() # превращаю тип данных в список(все определяется по пробелам)
cube(int(lis[0]), int(lis[1]), to_bool(lis[2]), lis[3]) # передаю эти значения, так же назначаю на ширину и высоту тип данных int, а на булево значение проверку если оно другое
# Сам алгоритм(грубо говоря мозги)
def cube(width, height, bool_fill, pattern):
if bool_fill == True:
for height_cube in range(1,height+1):
print(pattern*width)
elif bool_fill == False:
print(pattern*width)
for height_cube in range(1,height-2):
print(pattern, " "*(width-4), pattern)
print(pattern*width)
interact() # Вызов интерактивного меню
#====
# Main
#====
def main(): # Основные функции
def tasks(ans): # Модуль перехода к заданиями
if ans == 1: if ans == 1:
one_task() one_task() # Так как задания изолированые, входные аргументы не передаются
if ans == 2: elif ans == 2:
two_task() two_task()
if ans == 3: elif ans == 3:
thr_task() thr_task()
def menu(): def menu(): # Основной модуль выбора задания
while True: while True: # Так как программа подразумевает запуск нескольких заданий
# Мы делаем цикличную работу, пока не будет выбран 0 для brake.
print("Домашнее задание от 23.10.25\nВыберите номер задания:\n" print("Домашнее задание от 23.10.25\nВыберите номер задания:\n"
"::1 формат текст\t" "::2 четн числа\n" "::3 квадрат\t\t" ":-1 формат текст\t" ":-2 четн числа\n" ":-3 квадрат\t\t"
"::0 Выход\n") ":-0 Выход\n")
answer = int(input(":: ")) answer = int(input(":> "))
if answer == 0: if answer == 0:
print(":: exit!") print(":: exit!")
break break
tasks(answer) tasks(answer) # Переход к модулю перехода к заданиям
if __name__ == "__main__":
menu() menu()
if __name__ == "__main__": # Используем скрипт как основной а не как импорт
main()