Untitled

mail@pastecode.io avatar
unknown
plain_text
6 months ago
1.7 kB
4
Indexable
Never
def addition(a, b):
    try:
        return a+b
    except TypeError:
        return 'Type error!'






def get_item(lst, index):
    try:
        print(f"{lst[index]}\nNo error!")
    except IndexError:
        print("This index is not in the list!")
    else:
        pass
    finally:
        print("The finally statement has executed!")
    return ''






import math

class MyException(Exception):
    pass

def find_leg(lst):
    try:
        angle, hypotenuse = lst[0], lst[1]
    except ValueError:
        return 0
    if angle <= 0:
        raise MyException('Such angle cannot exist in a right triangle!')
    elif angle >= 90:
        raise MyException('Such angle cannot exist in a right triangle!')
    elif hypotenuse <= 0:
        raise MyException('Such hypotenuse cannot exist in a right triangle!')
    else:
        adjacent = math.cos(math.radians(angle)) * hypotenuse
        adjacent = round(adjacent, 5)
        return adjacent









def solve(inp):
    data = inp.split(';')
    n = int(data[0])
    hierarchy = {}
    for i in range(1, n+1):
        pair = data[i].split(' : ')
        if len(pair) == 1:
            pair.append(None)
        hierarchy[pair[0]] = pair[1]
    m = int(data[n+1])
    exceptions = data[n+2:]

    alrdy_caught = set()
    answer = []
    for k in range(m):
        exc = exceptions[k]
        parents = []
        parent = hierarchy[exc]
        while parent is not None:
            parents.append(parent)
            parent = hierarchy[parent]

        if (len(alrdy_caught.intersection(parents)) > 0):
            answer.append(exc)

        for p in parents:
            alrdy_caught.add(p)
        alrdy_caught.add(exc)
    return ','.join(answer)