Member 14010147 Ответов: 1

Python два оператора if


поэтому я пытаюсь закодировать функцию, где заданный угол должен быть меньше 90 для градуса и больше 0. а также для рейдана, меньше pi/2 и больше 0.
это моя функция

деф is_valid_angle(ул. ы:)-&ГТ; боол:
"""
Возвращает True тогда и только тогда, когда s-допустимый угол. Смотрите задание
описание и примеры для получения дополнительной информации о том, что действительно

Примеры:
&ГТ;&ГТ;&ГТ; is_valid_angle("85.3 д")
Правда
&ГТ;&ГТ;&ГТ; is_valid_angle("85.3.7 Д")
Ложный
&ГТ;&ГТ;&ГТ; is_valid_angle("90д")
Ложный
&ГТ;&ГТ;&ГТ; is_valid_angle("0.001 Р")
Правда
&ГТ;&ГТ;&ГТ; is_valid_angle("1.5 р")
Правда
"""
если s[-1]=='r"R':
если s < (pi/2):
Если s > 0:
вернуть true
еще:
если s[-1]=='d"D':
если s < 90:
Если s > 0:
вернуть true


Я не понимаю, что случилось

Что я уже пробовал:

деф is_valid_angle(ул. ы:)-&ГТ; боол:
"""
Возвращает True тогда и только тогда, когда s-допустимый угол. Смотрите задание
описание и примеры для получения дополнительной информации о том, что действительно

Примеры:
&ГТ;&ГТ;&ГТ; is_valid_angle("85.3 д")
Правда
&ГТ;&ГТ;&ГТ; is_valid_angle("85.3.7 Д")
Ложный
&ГТ;&ГТ;&ГТ; is_valid_angle("90д")
Ложный
&ГТ;&ГТ;&ГТ; is_valid_angle("0.001 Р")
Правда
&ГТ;&ГТ;&ГТ; is_valid_angle("1.5 р")
Правда
"""
если s[-1]=='r"R':
если s < (pi/2):
Если s > 0:
вернуть true
еще:
если s[-1]=='d"D':
если s < 90:
Если s > 0:
вернуть true

1 Ответов

Рейтинг:
0

CPallini

Попробуйте что-нибудь вроде

import math
def is_valid_angle(s:str)-> bool:
  v = float(s[:-1])
  if s[-1]=='r' or s[-1] == 'R':
    if v < (math.pi/2):
      if  v > 0:
        return True
  else:
    if s[-1]=='d' or s[-1]=='D':
      if v < 90:
        if v > 0:
          return True
  return False