Задать вопрос
  • Как можно ещё сократить количество строк в коде?

    winordie
    @winordie
    Лучшая документация -- исходники
    Работает только для целых неотрицательных чисел
    from math import sqrt
    
    def input_int(count):
        cathetus = raw_input('Введите число {}: '.format(count)) # python2
        # cathetus = input('Введите число {}: '.format(count)) # python3
        return int(cathetus) if cathetus.isdigit() else input_int(count)
    
    def calculation(a, b):
        hypotenuse = sqrt(a ** 2 + b ** 2)
        square = float(a * b)/2 # updated, old: square = (a * b)/2
        return {'hypotenuse': hypotenuse, 'square': square}
    
    result = calculation(input_int(1), input_int(2))
    print("\nгипотенуза: {hypotenuse}\nплощадь: {square}".format(**result))

    И функции все таки по человечески надо называть.
    PS по поводу того что только с целочисленными работает - исходный вариант также работал только с целыми числами (a = int(a), а не a = float(a))
    Ответ написан
    5 комментариев