Условный оператор. Вложенные и каскадные условия

 Условный оператор

 Зум бросил вызов Флэшу и предложил ему честный поединок в виде гонки вокруг магнетара. В случае проигрыша эта нейтронная звезда зарядится и уничтожит мир, поэтому Флэш решил не рисковать без причины и узнать у своего друга Циско Рамона, есть ли смысл принимать вызов. Циско получил данные, что скорость Зума равна n, а скорость Флэша равна k. Если Зум быстрее Флэша, нужно вывести «NO», а если Флэш быстрее Зума, нужно вывести «YES». В случае же если их скорости равны, нужно вывести «Don't know».

n = int(input())
k = int(input())

if n > k:
    print('NO')
elif n < k:
    print('YES')
else:
    print("Don't know")

 Напишите программу, которая классифицирует треугольник на основе длин его сторон. Программа должна принимать три числа, каждое из которых представляет собой длину одной из его сторон. В результате программа должна определить, является ли треугольник равносторонним, равнобедренным или разносторонним.Программа должна вывести на экран текст – тип треугольника («Равносторонний», «Равнобедренный» или «Разносторонний»).

a = int(input())
b = int(input())
c = int(input())

if a == b == c:
    print('Равносторонний')
elif a == b or a == c or b == c:
    print('Равнобедренный')
else:
    print('Разносторонний')

 Даны три различных целых числа. Напишите программу, которая находит серединное значение из этих чисел.

a = int(input())
b = int(input())
c = int(input())
if (b < a < c) or (c < a < b): print(a) elif (a < b < c) or (c < b < a): print(b) else: print(c)

 Дан порядковый номер месяца (1, 2,…, 12). Напишите программу, которая выводит на экран количество дней в этом месяце. Принять, что год является невисокосным.

m = int(input())

if m == 2:
    print(28)
elif m == 4 or m == 6 or m == 9 or m == 11:
    print(30)
else:
    print(31)

 Известен вес боксера-любителя (целое число). Известно, что вес таков, что боксер может быть отнесён к одной из трех весовых категорий:

  1. Легкий вес – до 60 кг (невключительно);
  2. Первый полусредний вес – до 64 кг (невключительно);
  3. Полусредний вес – до 69 кг (невключительно).
a = int(input())

if a < 60:
    print('Легкий вес')
elif a < 64:
    print('Первый полусредний вес')
elif a < 69:
    print('Полусредний вес')

 Напишите программу, которая считывает с клавиатуры два целых числа и строку. Если эта строка является обозначением одной из четырёх математических операций (+, -, *, /), то выведите результат применения этой операции к введённым ранее числам, в противном случае выведите «Неверная операция» (без кавычек). Если пользователь захочет поделить на ноль, выведите текст «На ноль делить нельзя!» (без кавычек).

a = int(input())
b = int(input())
c = input('')

if c == '+':
    print(a + b)
elif c == '-':
    print(a - b)
elif c == '*':
    print(a * b)
elif c == '/' and b != 0:
    print(a / b)
elif c == '/' and b == 0:
    print('На ноль делить нельзя!')
else:
    print('Неверная операция')

 Красный, синий и желтый называются основными цветами, потому что их нельзя получить путем смешения других цветов. При смешивании двух основных цветов получается вторичный цвет:

  • если смешать красный и синий, то получится фиолетовый;
  • если смешать красный и желтый, то получится оранжевый;
  • если смешать синий и желтый, то получится зеленый.

 Напишите программу, которая считывает названия двух основных цветов для смешивания. Если пользователь вводит что-нибудь помимо названий «красный», «синий» или «желтый», то программа должна вывести сообщение об ошибке. В противном случае программа должна вывести название вторичного цвета, который получится в результате.

a = input()
c = input()

r = 'красный'
b = 'синий'
y = 'желтый'

if (a == r and c == b) or (a == b and c == r):
    print('фиолетовый')
elif (a == r and c == y) or (a == y and c == r):
    print('оранжевый')
elif (a == b and c == y) or (a == y and c == b):
    print('зеленый')
elif a == r and c == r:
    print('красный')
elif a == b and c == b:
    print('синий')
elif a == y and c == y:
    print('желтый')
else: 
    print('ошибка цвета')

 На колесе рулетки карманы пронумерованы от 0 до 36. Ниже приведены цвета карманов:

  • карман 0 зеленый;
  • для карманов с 1 по 10 карманы с нечетным номером имеют красный цвет, карманы с четным номером – черный;
  • для карманов с 11 по 18 карманы с нечетным номером имеют черный цвет, карманы с четным номером – красный;
  • для карманов с 19 по 28 карманы с нечетным номером имеют красный цвет, карманы с четным номером – черный;
  • для карманов с 29 по 36 карманы с нечетным номером имеют черный цвет, карманы с четным номером – красный.

 Напишите программу, которая считывает номер кармана и показывает, является ли этот карман зеленым, красным или черным. Программа должна вывести сообщение об ошибке, если пользователь вводит число, которое лежит вне диапазона от 0 до 36.

a = int(input())

if (a % 2 != 0) and (1 <= a <= 10 or 19 <= a <= 28):  # нечет
    print('красный')
elif (a % 2 == 0) and (1 <= a <= 10 or 19 <= a <= 28):  #  чет
    print('черный')
elif (a % 2 != 0) and (11 <= a <= 18 or 29 <= a <= 36):  # нечёт
    print('черный')
elif (a % 2 == 0) and (11 <= a <= 18 or 29 <= a <= 36):  # чёт
    print('красный')
elif a == 0:
    print('зеленый')
else:
    print('ошибка ввода')

 На числовой прямой даны два отрезка: [a1; b1] и [a2​; b2​]. Напишите программу, которая находит их пересечение.
Пересечением двух отрезков может быть:

  • отрезок;
  • точка;
  • пустое множество.

 Программа должна вывести на экран границы отрезка, являющегося пересечением, либо общую точку, либо текст «пустое множество».

a = int(input())
b = int(input())
c = int(input())
d = int(input())

if b < c or a > d:
    print('пустое множество')
elif a < c and d < b:
    print(c, d)
elif a > c and d > b:
    print(a, b)
elif a < c < b and b < d:
    print(c, b)
elif c < a < d and d < b:  
    print(a, d)
elif b == c:
    print(b)
elif d == a:
    print(d)
elif a == c and b == d:
    print(a)
elif a == c and b < d:
    print(a, b)
elif b == d and c < a:
    print(a, b)
elif a == c and d < b:
    print(a, d)
elif b == d and a < c:
    print(c, b)