Мне дан диапазон частот start
, end
и целое число n:1<=n<=5
.Задача состоит в том, чтобы напечатать все 5 промежуточных точек с линейным интервалом в определенном формате (для других инструментов, расположенных ниже по потоку, для дальнейшей обработки. Эта часть здесь не является импом). Если n
меньше 5, последние частотные переменные должны быть по умолчанию.до 0
в печати.У меня есть рабочий код, приведенный ниже .. Я хотел получить более "питонический" рефакторинг.Части фрагмента, которые мне особенно не нравятся:
- Нет встроенной поддержки динамической распаковки списка в меньшее количество переменных.Я использовал решение из здесь - которому более 2 лет, поэтому я ищу новую перспективу
- Мне не нравится преобразовывать массив np в список .. Может ли np быть пока-пропущено в целом .. есть ли стандартная библиотека, эквивалентная диапазону / пробелу?
Фрагмент кода: -
import sys
import numpy as np
max = 5
n=int(sys.argv[1])
if n>max:
print("No of frequency larger than "+ str(max) + " ..resetting")
n=max
if n<1:
print("No of frequency less than 1 resetting to 1")
n=1
fr1=0
fr2=0
fr3=0
fr4=0
fr5=0
start = 5060000
end = 6165000
range = end-start
inc = range/(n+1)
ret_list = np.arange(start+inc,end,inc).tolist()[:n]
ret_list = ret_list + [0]*(max-n)
fr1,fr2,fr3,fr4,fr5 = ret_list
print(".fr1.",fr1, sep = '')
print(".fr2.",fr2, sep = '')
print(".fr3.",fr3, sep = '')
print(".fr4.",fr4, sep = '')
print(".fr5.",fr5, sep = '')