from typing import Tuple, List import winkelumrechnungen as wu import random table1 = [ (wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(90), 1.00000000000, wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 10018754.9569), (wu.deg2rad(1), wu.deg2rad(0), wu.deg2rad(-80), wu.deg2rad(5), 0.05883743460, wu.gms2rad([179, 7, 12.2719]), wu.gms2rad([174, 40, 13.8487]), 8947130.7221), (wu.deg2rad(5), wu.deg2rad(0), wu.deg2rad(-60), wu.deg2rad(40), 0.34128138370, wu.gms2rad([160, 13, 24.5001]), wu.gms2rad([137, 26, 47.0036]), 8004762.4330), (wu.deg2rad(30), wu.deg2rad(0), wu.deg2rad(-30), wu.deg2rad(175), 0.86632464962, wu.gms2rad([91, 7, 30.9337]), wu.gms2rad([91, 7, 30.8672]), 19547128.7971), (wu.deg2rad(60), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(175), 0.06207487624, wu.gms2rad([2, 52, 26.2393]), wu.gms2rad([177, 4, 13.6373]), 6705715.1610), (wu.deg2rad(75), wu.deg2rad(0), wu.deg2rad(80), wu.deg2rad(120), 0.11708984898, wu.gms2rad([23, 20, 34.7823]), wu.gms2rad([140, 55, 32.6385]), 2482501.2608), (wu.deg2rad(80), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(90), 0.17478427424, wu.gms2rad([72, 26, 50.4024]), wu.gms2rad([159, 38, 30.3547]), 3519745.1283) ] table2 = [ (wu.deg2rad(0), wu.deg2rad(-90), wu.deg2rad(0), wu.deg2rad(89.5), 1.00000000000, wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 19981849.8629), (wu.deg2rad(1), wu.deg2rad(-90), wu.deg2rad(1), wu.deg2rad(89.5), 0.18979826428, wu.gms2rad([10, 56, 33.6952]), wu.gms2rad([169, 3, 26.4359]), 19776667.0342), (wu.deg2rad(5), wu.deg2rad(-90), wu.deg2rad(5), wu.deg2rad(89), 0.09398403161, wu.gms2rad([5, 24, 48.3899]), wu.gms2rad([174, 35, 12.6880]), 18889165.0873), (wu.deg2rad(30), wu.deg2rad(-90), wu.deg2rad(30), wu.deg2rad(86), 0.06004022935, wu.gms2rad([3, 58, 23.8038]), wu.gms2rad([176, 2, 7.2825]), 13331814.6078), (wu.deg2rad(60), wu.deg2rad(-90), wu.deg2rad(60), wu.deg2rad(78), 0.06076096484, wu.gms2rad([6, 56, 46.4585]), wu.gms2rad([173, 11, 5.9592]), 6637321.6350), (wu.deg2rad(75), wu.deg2rad(-90), wu.deg2rad(75), wu.deg2rad(66), 0.05805851008, wu.gms2rad([12, 40, 34.9009]), wu.gms2rad([168, 20, 26.7339]), 3267941.2812), (wu.deg2rad(80), wu.deg2rad(-90), wu.deg2rad(80), wu.deg2rad(55), 0.05817384452, wu.gms2rad([18, 35, 40.7848]), wu.gms2rad([164, 25, 34.0017]), 2132316.9048) ] table3 = [ (wu.deg2rad(0), wu.deg2rad(0.5), wu.deg2rad(80), wu.deg2rad(0.5), 0.05680316848, wu.gms2rad([0, 0, 16.0757]), wu.gms2rad([0, 1, 32.5762]), 8831874.3717), (wu.deg2rad(-1), wu.deg2rad(5), wu.deg2rad(75), wu.deg2rad(5), 0.05659149555, wu.gms2rad([0, -1, 47.2105]), wu.gms2rad([0, 6, 54.0958]), 8405370.4947), (wu.deg2rad(-5), wu.deg2rad(30), wu.deg2rad(60), wu.deg2rad(30), 0.04921108945, wu.gms2rad([0, -4, 22.3516]), wu.gms2rad([0, 8, 42.0756]), 7204083.8568), (wu.deg2rad(-30), wu.deg2rad(45), wu.deg2rad(30), wu.deg2rad(45), 0.04017812574, wu.gms2rad([0, -3, 41.2461]), wu.gms2rad([0, 3, 41.2461]), 6652788.1287), (wu.deg2rad(-60), wu.deg2rad(60), wu.deg2rad(5), wu.deg2rad(60), 0.02843082609, wu.gms2rad([0, -8, 40.4575]), wu.gms2rad([0, 4, 22.1675]), 7213412.4477), (wu.deg2rad(-75), wu.deg2rad(85), wu.deg2rad(1), wu.deg2rad(85), 0.00497802414, wu.gms2rad([0, -6, 44.6115]), wu.gms2rad([0, 1, 47.0474]), 8442938.5899), (wu.deg2rad(-80),wu.deg2rad(89.5), wu.deg2rad(0), wu.deg2rad(89.5), 0.00050178253, wu.gms2rad([0, -1, 27.9705]), wu.gms2rad([0, 0, 16.0490]), 8888783.7815) ] # table4 = [ # (wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(90), 1.00000000000, # wu.gms2rad([90, 0, 0.0000]), wu.gms2rad([90, 0, 0.0000]), 10018754.1714), # # (wu.deg2rad(1), wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(179.5), 0.30320665822, # wu.gms2rad([17, 39, 11.0942]), wu.gms2rad([162, 20, 58.9032]), 19884417.8083), # # (wu.deg2rad(5), wu.deg2rad(0), wu.deg2rad(-80), wu.deg2rad(170), 0.03104258442, # wu.gms2rad([178, 12, 51.5083]), wu.gms2rad([10, 17, 52.6423]), 11652530.7514), # # (wu.deg2rad(30), wu.deg2rad(0), wu.deg2rad(-75), wu.deg2rad(120), 0.24135347134, # wu.gms2rad([163, 49, 4.4615]), wu.gms2rad([68, 49, 50.9617]), 14057886.8752), # # (wu.deg2rad(60), wu.deg2rad(0), wu.deg2rad(-60), wu.deg2rad(40), 0.19408499032, # wu.gms2rad([157, 9, 33.5589]), wu.gms2rad([157, 9, 33.5589]), 13767414.8267), # # (wu.deg2rad(75), wu.deg2rad(0), wu.deg2rad(-30), wu.deg2rad(0.5), 0.00202789418, # wu.gms2rad([179, 33, 3.8613]), wu.gms2rad([179, 51, 57.0077]), 11661713.4496), # # (wu.deg2rad(80), wu.deg2rad(0), wu.deg2rad(-5), wu.deg2rad(120), 0.15201222384, # wu.gms2rad([61, 5, 33.9600]), wu.gms2rad([171, 13, 22.0148]), 11105138.2902), # # (wu.deg2rad(0), wu.deg2rad(0), wu.deg2rad(60), wu.deg2rad(0), 0.00000000000, # wu.gms2rad([0, 0, 0.0000]), wu.gms2rad([0, 0, 0.0000]), 6663348.2060) # ] tables = [table1, table2, table3] def get_example(table: int, example: int) -> Tuple: """ Rückgabe eines Beispiels :param table: Tabellen-Nummer :param example: Beispiel-Nummer :return: Bespiel """ table -= 1 example -= 1 tables = get_tables() beta0, lamb0, beta1, lamb1, _, alpha0_ell, alpha1_ell, s = tables[table][example] return beta0, lamb0, alpha0_ell, beta1, lamb1, alpha1_ell, s def get_tables() -> List: """ Rückgabe aller Tabellen :return: Alle Tabellen """ sorted_tables = [] for table in tables: sorted_tables.append([]) for example in table: beta0, lamb0, beta1, lamb1, _, alpha0_ell, alpha1_ell, s = example sorted_tables[-1].append((beta0, lamb0, alpha0_ell, beta1, lamb1, alpha1_ell, s)) return sorted_tables def get_random_examples(num: int, seed: int = None) -> List: """ Rückgabe zufälliger Beispiele :param num: Anzahl Beispiele :param seed: Random-Seed :return: """ if seed is not None: random.seed(seed) examples = [] for i in range(num): table = random.randint(1, 3) if table == 4: example = random.randint(1, 8) else: example = random.randint(1, 7) example = get_example(table, example) examples.append(example) return examples if __name__ == "__main__": # test = get_example(1, 4) examples = get_random_examples(5) pass