python/lesson_2.2.py

412 lines
13 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

''' ****** Задание 1 ********
*** Спрашивает имя и как дела ***
'''
# # Ask for the user's name
# print("Как Вас зовут?")
# username = input()
#
# # Greet the user
# print(f"Здравствуйте, {username}!")
#
# # Ask about the user's mood
# print("Как дела?")
# mood = input()
#
# # Respond based on the user's mood
# if mood == "хорошо":
# print("Я за Вас рада!")
# elif mood == "плохо":
# print("Всё наладится!")
''' ****** Задание 2 ********
*** Определить победителя ***
'''
# p_speed = float(input())
# v_speed = float(input())
# if p_speed > v_speed:
# print('Петя')
# else:
# print('Вася')
''' ****** Задание 3 ********
*** Кто первый финишировал ***
'''
# p_speed = float(input())
# v_speed = float(input())
# t_speed = float(input())
# if p_speed > v_speed and p_speed > t_speed:
# print("Петя")
# elif v_speed > p_speed and v_speed > t_speed:
# print("Вася")
# else:
# print("Толя")
''' ****** Задание 4 ********
*** Кто первый финишировал ***
'''
# # Читаем скорости гонщиков
# petya_speed = int(input())
# vasya_speed = int(input())
# tolya_speed = int(input())
#
# # Создаем список кортежей (скорость, имя)
# racers = [
# (petya_speed, "Петя"),
# (vasya_speed, "Вася"),
# (tolya_speed, "Толя")
# ]
#
# # Наивная сортировка пузырьком по убыванию скорости
# n = len(racers)
# for i in range(n - 1):
# for j in range(n - 1 - i):
# if racers[j][0] < racers[j + 1][0]:
# # Меняем местами
# racers[j], racers[j + 1] = racers[j + 1], racers[j]
#
# # Выводим результаты
# for i in range(3):
# print(f"{i + 1}. {racers[i][1]}")
''' ****** Задание 5 ********
*** У кого яблок больше ***
'''
# # Читаем N и M
# N = int(input())
# M = int(input())
#
# # Вычисляем итоговое количество яблок
# petya_apples = 6 + N
# vasya_apples = 12 + M
#
# # Сравниваем и выводим результат
# if petya_apples > vasya_apples:
# print("Петя")
# else:
# print("Вася")
''' ****** Задание 6 ********
*** Программа, которая поможет Васе определить, удастся ли побездельничать в определённом году или нет.
***
'''
# # Читаем год
# year = int(input())
#
# # Проверяем условия високосного года
# if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
# print("YES")
# else:
# print("NO")
''' ****** Задание 7 ********
*** Является ли слово палидромом ***
'''
# # Считываем число
# number = input()
#
# # Проверяем, является ли число палиндромом
# if number[0] == number[3] and number[1] == number[2]:
# print("YES")
# else:
# print("NO")
''' ****** Задание 8 ********
*** Наход слова ***
'''
# # Считываем строку
# text = input()
#
# # Проверяем, есть ли в строке слово "зайка"
# if "зайка" in text:
# print("YES")
# else:
# print("NO")
''' ****** Задание 9 ********
*** Сравнение имён ***
'''
# # Считываем три имени
# name1 = input()
# name2 = input()
# name3 = input()
#
# # Сравниваем имена лексикографически
# if name1 <= name2 and name1 <= name3:
# print(name1)
# elif name2 <= name1 and name2 <= name3:
# print(name2)
# else:
# print(name3)
''' ****** Задание 10 ********
*** Зашифровка паролей ***
'''
# # Считываем трехзначное число
# number = int(input())
#
# # Разделяем число на цифры
# hundreds = number // 100
# tens = (number // 10) % 10
# units = number % 10
#
# # Находим суммы
# sum_low = tens + units # сумма младших цифр (десятков и единиц)
# sum_high = hundreds + tens # сумма старших цифр (сотен и десятков)
#
# # Записываем суммы в порядке не возрастания
# if sum_high >= sum_low:
# print(f"{sum_high}{sum_low}")
# else:
# print(f"{sum_low}{sum_high}")
''' ****** Задание 11 ********
*** Проверяет является ли число красивым ***
'''
# # Считываем трехзначное число
# number = int(input())
#
# # Разделяем число на цифры
# hundreds = number // 100
# tens = (number // 10) % 10
# units = number % 10
#
# # Находим минимальную и максимальную цифры
# min_digit = min(hundreds, tens, units)
# max_digit = max(hundreds, tens, units)
#
# # Находим среднюю цифру (не минимальная и не максимальная)
# middle_digit = hundreds + tens + units - min_digit - max_digit
#
# # Проверяем условие красоты: min + max == middle * 2
# if min_digit + max_digit == middle_digit * 2:
# print("YES")
# else:
# print("NO")
''' ****** Задание 12 ********
*** Создать треугольник ***
'''
# # Считываем длины трех отрезков
# a = float(input())
# b = float(input())
# c = float(input())
#
# # Проверяем неравенство треугольника для всех сторон
# if a + b > c and a + c > b and b + c > a:
# print("YES")
# else:
# print("NO")
''' ****** Задание 13 ********
*** Выяснение цифры ***
'''
# # Считываем три двузначных числа
# elf = input()
# dwarf = input()
# human = input()
#
# # Проверяем первую цифру (десятки)
# if elf[0] == dwarf[0] == human[0]:
# print(elf[0])
# # Проверяем вторую цифру (единицы)
# elif elf[1] == dwarf[1] == human[1]:
# print(elf[1])
''' ****** Задание 14 ********
*** Разделить число ***
'''
# number = input()
#
# # Получаем цифры и сортируем их
# digits = sorted(number)
#
# # Минимальное число - две наименьшие цифры (но первая не может быть 0)
# if digits[0] == '0':
# min_num = int(digits[1] + digits[0]) # если есть 0, то минимальное будет типа 10, 20 и т.д.
# else:
# min_num = int(digits[0] + digits[1])
#
# # Максимальное число - две наибольшие цифры в обратном порядке
# max_num = int(digits[2] + digits[1])
#
# print(min_num, max_num)
''' ****** Задание 15 ********
*** Собрать число ***
'''
# num1 = input()
# num2 = input()
#
# # Объединяем все цифры
# all_digits = num1 + num2
#
# # Находим максимальную и минимальную цифры
# max_d = max(all_digits)
# min_d = min(all_digits)
#
# # Удаляем по одному вхождению максимальной и минимальной цифры
# remaining = all_digits.replace(max_d, '', 1).replace(min_d, '', 1)
#
# # Суммируем оставшиеся цифры и берем последнюю цифру суммы
# middle = sum(int(d) for d in remaining) % 10
#
# # Собираем магическое число
# print(max_d + str(middle) + min_d)
''' ****** Задание 16 ********
*** Красивый вывод победителей ***
'''
# # Считываем скорости трех участников
# petya = int(input())
# vasya = int(input())
# tolya = int(input())
#
# # Определяем места участников
# if petya > vasya and petya > tolya:
# first = "Петя"
# if vasya > tolya:
# second = "Вася"
# third = "Толя"
# else:
# second = "Толя"
# third = "Вася"
# elif vasya > petya and vasya > tolya:
# first = "Вася"
# if petya > tolya:
# second = "Петя"
# third = "Толя"
# else:
# second = "Толя"
# third = "Петя"
# else:
# first = "Толя"
# if petya > vasya:
# second = "Петя"
# third = "Вася"
# else:
# second = "Вася"
# third = "Петя"
#
# # Выводим красивый пьедестал
# print(f"{'':<8}{first:^8}{'':>8}")
# print(f"{second:^8}{'':<8}{'':>8}")
# print(f"{'':<8}{'':<8}{third:>8}")
# print(f"{'II':^8}{'I':^8}{'III':^8}")
''' ****** Задание 17 ********
*** Нахождение корней уровнения, используя условные операторы ***
'''
# # Считываем коэффициенты
# a = float(input())
# b = float(input())
# c = float(input())
#
# # Проверяем особые случаи
# if a == 0:
# if b == 0:
# if c == 0:
# print("Infinite solutions")
# else:
# print("No solution")
# else:
# # Линейное уравнение: bx + c = 0
# x = -c / b
# print(f"{x:.2f}")
# else:
# # Квадратное уравнение: ax² + bx + c = 0
# discriminant = b ** 2 - 4 * a * c
#
# if discriminant > 0:
# # Два различных корня
# x1 = (-b - discriminant ** 0.5) / (2 * a)
# x2 = (-b + discriminant ** 0.5) / (2 * a)
# # Сортируем по возрастанию
# if x1 > x2:
# x1, x2 = x2, x1
# print(f"{x1:.2f} {x2:.2f}")
# elif discriminant == 0:
# # Один корень
# x = -b / (2 * a)
# print(f"{x:.2f}")
# else:
# # Нет действительных корней
# print("No solution")
''' ****** Задание 18 ********
*** Программа, которая определяет вероятность встретить зло по длинам сторон треугольника. ***
'''
# # Считываем длины сторон
# a = float(input())
# b = float(input())
# c = float(input())
#
# # Проверяем, существует ли треугольник
# if a + b > c and a + c > b and b + c > a:
# # Находим квадраты сторон для удобства сравнения
# a2 = a * a
# b2 = b * b
# c2 = c * c
#
# # Определяем тип треугольника по углам
# if a2 + b2 == c2 or a2 + c2 == b2 or b2 + c2 == a2:
# print("100%")
# elif a2 + b2 < c2 or a2 + c2 < b2 or b2 + c2 < a2:
# print("велика")
# else:
# print("крайне мала")
# else:
# # Если треугольник не существует
# print("No solution")
''' ****** Задание 19 ********
*** Программа, которая по заданным координатам проверит, находится ли исследователь в зоне опасности, учитывая несколько условий одновременно.
***
'''
# # Считываем координаты
# x = float(input())
# y = float(input())
#
# # Проверяем условия опасности
# if (x >= 0 and y >= 0 and y <= -x + 10 and y <= 10 and x <= 10) or \
# (x <= 0 and y >= 0 and y <= 5 and y <= x + 10 and x >= -10) or \
# (x <= 0 and y <= 0 and y >= -5 and y >= -x - 10 and x >= -10) or \
# (x >= 0 and y <= 0 and y >= -5 and y >= x - 10 and x <= 10):
# print("Опасность! Покиньте зону как можно скорее!")
# elif (x >= 0 and y >= 0 and y <= 10 and x <= 10) or \
# (x <= 0 and y >= 0 and y <= 10 and x >= -10) or \
# (x <= 0 and y <= 0 and y >= -10 and x >= -10) or \
# (x >= 0 and y <= 0 and y >= -10 and x <= 10):
# print("Зона безопасна. Продолжайте работу.")
# else:
# print("Вы вышли в море и рискуете быть съеденным акулой!")
''' ****** Задание 20 ********
*** Нахождение слова "Зайка" ***
'''
# # Считываем три строки
# s1 = input()
# s2 = input()
# s3 = input()
#
# # Проверяем, в каких строках есть "зайка"
# has_zayka = []
# if "зайка" in s1:
# has_zayka.append(s1)
# if "зайка" in s2:
# has_zayka.append(s2)
# if "зайка" in s3:
# has_zayka.append(s3)
#
# # Выбираем нужную строку
# if len(has_zayka) == 0:
# # Если "зайки" нет ни в одной строке
# print("")
# elif len(has_zayka) == 1:
# # Если только одна строка с "зайкой"
# result = has_zayka[0]
# print(result, len(result))
# else:
# # Если несколько строк с "зайкой" - выбираем наименьшую лексикографически
# result = min(has_zayka)
# print(result, len(result))