Информатика, вопрос задал dasentder , 1 год назад

Помогите с кодом (Python)
В коде приведённом ниже должна происходить проверка на отрицательные числа, если такое число есть то код должен возвращать обратно к input() и просить ввести значение заново, но дело в том что он возвращает только 1 раз, я пытался сделать с помощью многих способов но ничего не выходило, помогите!
****************************************************************************
a = int(input('Введите длинну стороны а больше 0: '))
b = int(input('Введите длинну стороны b больше 0: '))
sinA = int(input('Введите величину угла в градусах от 0 до 180: '))
while (a and b) > 0 and 0 < sinA < 180:
S = a * b * sinA
print(S)
break
else:
print('Ошибка')
a = int(input('Введите длинну стороны а больше 0: '))
b = int(input('Введите длинну стороны b больше 0: '))
sinA = int(input('Введите величину угла в градусах от 0 до 180: '))

Ответы на вопрос

Ответил p15
0

Ответ:

(a and b) что вы этим хотели сказать? Сразу бросилось в глаза, а уж потом синус и т.д.

Верно:

import math    

a = int(input('Введите длинну стороны а больше 0: '))

b = int(input('Введите длинну стороны b больше 0: '))

A = int(input('Введите величину угла в градусах от 0 до 180: '))

while a<=0 or b<=0 or not(0<A<180):

   print('Ошибка')

   a = int(input('Введите длинну стороны а больше 0: '))

   b = int(input('Введите длинну стороны b больше 0: '))

   A = int(input('Введите величину угла в градусах от 0 до 180: '))

S = a * b * math.sin(A/180*math.pi)

print(S)

Объяснение:

Новые вопросы