Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Помогите пофиксить проблему в программе на python

Попа Димы Мастер (1293), на голосовании 9 месяцев назад
Программа должна определять вид треугольника по его углам. При введении значений 50 40 90 выводит, что треугольник равнобедренный, а должно выводить - прямоугольный. Помогите пофиксить.
Голосование за лучший ответ
Vitness Просветленный (35127) 10 месяцев назад
Что за магическия конструкция?
a or b or c == a or b or c
Иногда когда пишут подобные штуки, там хоть логика есть. А тут даже не понятно, как это должно работать

Эта строчка - ничем не отличается от просто
if True
У тебя слева и справа записано одно и то же


Дальше.
a and b and c < 90 - тут уже логика есть. Но так не работает. Это язык программирования, и and имеет особый смысл.
Эта строчка равняется просто
if c < 90
Исправить можно так:
if a < 90 and b < 90 and c < 90

Советую прочитать в официальной документации, что делает or и and:
https://docs.python.org/3/reference/expressions.html#boolean-operations
 The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned. 

The expression x or y first evaluates x; if x is true, its value is returned; otherwise, y is evaluated and the resulting value is returned.
Похожие вопросы