""" writen by shenjackyuanjie mail: 3695888@qq.com file name stand for : Physics calculation """ import libs import math from libs.tools import F_Mi, F_Mu, F_A, F_D def S_C_float_check(SC): # stand for Scientific notation's float check """ formats: SC list format:docs.basic_config.json:basic_number""" while SC[0] >= 10: SC[0] = F_D(SC[0], 10) SC[1] += 1 while SC[0] < 1: SC[0] = F_Mu(SC[0], 10) SC[1] -= 1 def S_N_M(A, B, *C): # stand for Scientific notation multiple """ formats: A & B & C list format:docs.basic_config.json:basic_number""" AB = __S_N_M(A, B) if C: for SN in C: AB = __S_N_M(AB, SN) else: return AB return AB def __S_N_M(A, B): """ formats: A & B list format:docs.basic_config.json:basic_number""" R = [F_Mu(A[0], B[0]), F_A(A[1], B[1])] S_C_float_check(R) Unit1, Unit2 = A[2] + B[2], A[3] + B[3] if Unit1 == None: Unit1 = [] libs.tools.D_C(Unit1, Unit2) R += [Unit1, Unit2] return R def S_N_D(A, B): # stand for Scientific notation divided """ formats: A & B list format:docs.basic_config:basic_number""" R = [F_D(A[0], B[0]), F_Mi(A[1], B[1])] S_C_float_check(R) Unit1, Unit2 = A[2] + B[3], A[3] + B[2] if Unit1 == None: Unit1 = [] libs.tools.D_C(Unit1, Unit2) R += [Unit1, Unit2] return R def G_C(M, m, R, G): #stand for gravity calculation """ formats: M : ship's mass m : planet's mass R : distance to the planet G : Gravitational constant M & m & R format: docs.basic_config:basic_number """ A = S_N_M