Другие языки программирования и технологии

Помогите с кодом, нужно понять являются ли 3 введенных числа Арифметической прогрессией, мой код выдает ошибку

num1, num2, num3 = int(input()), int(input()), int(input())
if num2 - num1 == num1 and num3 - num1*2 == num1:
print('YES')
else:
print('NO')
A в две строчки не проще?
 a,b,c = map(int, input('a b c: ').split())
print('YES' if a+c==2*b else 'NO')
Сергей Величко
Сергей Величко
66 572
Лучший ответ
Ошибка в вашем коде связана с неправильным условием проверки. Вместо того, чтобы проверять, что разность между вторым и первым числом равна первому числу, и разность между третьим и вторым числом равна второму числу, нужно проверять, что разность между вторым и первым числом равна разности между третьим и вторым числом.

Вот исправленный код:

```
num1, num2, num3 = int(input()), int(input()), int(input())
if num2 - num1 == num3 - num2:
print('YES')
else:
print('NO')
```

Теперь код проверяет, являются ли введенные числа арифметической прогрессией, и выводит "YES", если это так, и "NO", если нет.
 num1, num2, num3 = int(input()), int(input()), int(input()) 

if num2 - num1 == num3 - num2:
print('YES')
else:
print('NO')
Не благодари, данечка. Как там мама, как палец?
Александр Фатерин Твоя помощь не нужна, иди отсуда
Ошибка в вашем коде заключается в неверной проверке условия для определения арифметической прогрессии. Правильное условие для проверки арифметической прогрессии - это разность любых двух последовательных элементов равна одной и той же константе.

Ниже приведен исправленный код для проверки, являются ли введенные три числа арифметической прогрессией:

isbl
Copy
num1, num2, num3 = int(input()), int(input()), int(input())

if num2 - num1 == num3 - num2:
print('YES')
else:
print('NO')
В этом коде мы сначала считываем три числа с помощью функции input(), затем проверяем, удовлетворяет ли разность между любыми двумя последовательными числами условию арифметической прогрессии. Если это так, то выводим 'YES', иначе - 'NO'.