Перепиши код как профессиональный программист.
import math
import numpy as np
import matplotlib.pyplot as plt
#вариант 6
f=1300
hr=40
hbs1=49
hbs2=35
hms=1.7
fi=40

w=15
b=40
def los(f,d):
    return(42.6+26*math.log10(d)+20*math.log10(f))

#   Модель Уолфиша-Икегами   #
def los(f,d):
    return(42.6+26*math.log10(d)+20*math.log10(f))

def nlos(f,d,hms,hbs,kf,hr,fi):
    delta_hms=hr-hms
    delta_hbs=hbs-hr
    if hbs>=hr:
        kd=18
    elif hbs<hr:
        kd=18-15*delta_hbs/hr
    if hbs>hr:
        ka=54
    elif d>=0.5 and hbs<=hr:
        ka=54-0.8*delta_hbs
    elif d<0.5 and hbs<=hr:
        ka=54-1.5*delta_hbs*d
    if hbs>hr:
        Lbsh=-18*math.log10(1+delta_hbs)
    elif hbs<=hr:
        Lbsh=0
    Lmsd=Lbsh+ka+kd*math.log10(d)+kf*math.log10(f)-9*math.log10(b)

    if fi>=0 and fi<35:
        Lori=-10+0.354*w
    elif fi>=35 and fi<55:
        Lori=2.5+0.075*(fi-35)
    elif fi>=55 and fi<90:
        Lori=4.0+0.114*(fi-35)
    Lrts=-16.9-10*math.log10(w)+10*math.log10(f)+20*math.log10(delta_hms)+Lori
    Lo=32.44+20*math.log10(d)+20*math.log10(f)

    if Lrts+Lmsd>0:
        Lnlos=Lo+Lrts+Lmsd
    elif Lrts+Lmsd<=0:
        Lnlos=Lo
    
    return Lnlos

#   Модель Кся-Бертони   #
def bertoni(f,d,hms,hbs,w):
    c=3*(10**8)
    lam=c/f
    delta_hbs=hr-hbs
    delta_hms=hms-hr
    x=w/2
    teta=math.atan(delta_hms/x)
    r=((delta_hms**2)+(x**2))**0.5

    Ldb=-10*((math.log10(lam/((4*math.pi)*d)))**2)-10*math.log10((lam/((4*(math.pi)**2)*r))*(((1/teta)-(1/((2*math.pi)+teta)))**2))-10*math.log10((2.35**2)*(((delta_hbs/d)*((b/lam)**0.5))**1.8))
    return Ldb

meters=list(range(200,1600,100))
los_set=[]
nlos_hbs1_middletown=[]
nlos_hbs1_largetown=[]
nlos_hbs2_middletown=[]
nlos_hbs2_largetown=[]
bertoni_hbs1=[]
for el in meters:
    los_set.append(los(f,el))
    nlos_hbs1_middletown.append(nlos(f,el,hms,hbs1,(-4+(0.7*((f/925))-1)),hr,fi))
    nlos_hbs1_largetown.append(nlos(f,el,hms,hbs1,(-4+(1.5*((f/925))-1)),hr,fi))
    nlos_hbs2_middletown.append(nlos(f,el,hms,hbs2,(-4+(0.7*((f/925))-1)),hr,fi))
    nlos_hbs2_largetown.append(nlos(f,el,hms,hbs2,(-4+(1.5*((f/925))-1)),hr,fi))
    bertoni_hbs1.append(bertoni(f,el,hms,hbs2,w))

plt.figure(figsize=(8, 7))
plt.plot(meters,los_set,meters,nlos_hbs1_middletown,meters,nlos_hbs1_largetown,meters,nlos_hbs2_middletown,meters,nlos_hbs2_largetown,meters,bertoni_hbs1)
plt.grid(True)
plt.gca().legend(('зона прямой видимости','вне зоны прямой видимости, высота 49 м, город средних размеров','вне зоны прямой видимости, высота 49 м, город с плотной застройкой','вне зоны прямой видимости, высота 35 м, город средних размеров','вне зоны прямой видимости, высота 35 м, город с плотной застройкой','Модель Кся-Бертони. Высота 49 м'),loc="lower center",bbox_to_anchor=(0.5, -0.4))
plt.xlim(200,1500)
plt.xticks(meters)
plt.xlabel("расстояние x, [км]")
plt.ylabel("L (потери сигнала) [дБ]")
plt.title("Модели Уолфиша-Икегами и Кся-Бертони")
plt.subplots_adjust(bottom=0.262,top=0.934)
plt.show()


def toFixed(numObj, digits=3):  #округление до 3 знаков после запятой
    return float(f"{numObj:.{digits}f}")

with open(r"result.txt", "w") as file: #запись результатов в файл
    file.write('Модель Уолфиша-Икегами\nзона прямой видимости\n')
    for el in los_set:
        file.write(str(toFixed(el))+'\n')

    file.write('\nвне зоны прямой видимости, высота 49 м, город средних размеров\n')
    for el in nlos_hbs1_middletown:
        file.write(str(toFixed(el))+'\n')

    file.write('\nвне зоны прямой видимости, высота 49 м, город с плотной застройкой\n')
    for el in nlos_hbs1_largetown:
        file.write(str(toFixed(el))+'\n')

    file.write('\nвне зоны прямой видимости, высота 35 м, город средних размеров\n')
    for el in nlos_hbs2_middletown:
        file.write(str(toFixed(el))+'\n')
    
    file.write('\nвне зоны прямой видимости, высота 35 м, город с плотной застройкой\n')
    for el in nlos_hbs2_largetown:
        file.write(str(toFixed(el))+'\n')

    file.write('\nМодель Кся-Бертони. Высота 28 м\n')
    for el in bertoni_hbs1:
        file.write(str(toFixed(el))+'\n')