Найти тему
Be Happy

Решение задач по программированию на языке Python для начинающих (2 часть, IF)

Оглавление

Добрый день! В этом блоке представляю вашему вниманию типовые, но интересные задачи, в которых отрабатывается навык использования логического оператора "IF". Задачи взятых из курса обучения "Основы программирования на Python" (автор курса: National Research University Higher School of Economics), размещенному на сайте coursera.org.

Ход короля.

"Фигура короля в шахматах ходит по вертикали, по горизонтали и по диагонали на 1 клетку. Заданы две разные клетки шахматной доски и
требуется определить, может ли король перейти с первой клетки на вторую за один ход.

Выведите "YES", если такой ход возможен или "NO" если это не получиться сделать."

(описание задачи взято с сайта www.coursera.org/learn/python-osnovy-programmirovaniya/programming/)

Решение

x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
if x1 == x2 and y1 == y2:
....print(
'NO')
elif x1 - x2 > 1 or x1 - x2 < -1:
....print(
'NO')
elif y1 - y2 > 1 or y1 - y2 < -1:
....print(
'NO')
else:
....print(
'YES')

Квартиры.

"Есть многоквартирный дом, в котором несколько подъездов. В каждом подъезде количество квартир одинаковое. Нумерация квартир подряд, начиная с единицы. Возможно ли, чтобы в каком-то подъезде у первой квартиры был номер x, а у последней номер y (x ≤ y)?

"YES" , если такое возможно, и "NO" - не бывать такому."

(описание задачи взято с сайта www.coursera.org/learn/python-osnovy-programmirovaniya/programming/)

Решение

x = int(input())
y = int(input())
k = y - x + 1
if (x - 1) % k == 0:
....print(
'YES')
else:
....print(
'NO')

Цвет клеток шахматной доски.

"Заданы координаты двух клеток шахматной доски. Выведите "YES" в случае, если они покрашены в один цвет, а иначе - "NO"."

(описание задачи взято с сайта www.coursera.org/learn/python-osnovy-programmirovaniya/programming/)

Решение

x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
if x1 == x2 and y1 == y2:
....print(
'YES')
elif ((x1 - x2) % 2 == 0) and ((y1 - y2) % 2 == 0):
....print(
'YES')
elif ((x1 - x2) % 2 != 0) and ((y1 - y2) % 2 != 0):
....print(
'YES')
else:
....print(
'NO')

Шоколадка.

"Есть плитка шоколада, которая имеет вид прямоугольника, разделенного на n×m долек. Один раз плитку возможно разломить по прямой на две части. Выясните, можно ли так отломить от шоколадки часть, состоящую из k долек.

"YES" - можно, "NO" - не получится."

(описание задачи взято с сайта www.coursera.org/learn/python-osnovy-programmirovaniya/programming/)

Решение

n = int(input())
m = int(input())
k = int(input())
if k < m * n and (k % m == 0 or k % n == 0):
....print(
'YES')
else:
....print(
'NO')

Коровы.

"Закончите фразу “На лугу пасется...” одним из возможных вариантов продолжений: “n коров”, “n корова”, “n коровы”, склоняя слово “корова” правильно. Задано число n<=100."

(описание задачи взято с сайта www.coursera.org/learn/python-osnovy-programmirovaniya/programming/)

Решение

n = int(input())
if (n >= 11 and n <= 14):
....s =
'korov'
elif n % 10 == 1:
....s =
'korova'
elif n % 10 >= 2 and n % 10 <= 4:
....s =
'korovy'
else:
....s =
'korov'
print(n, s)