Я хочу получить алгоритм, который позволяет возвращать некоторые результаты в соответствии с входными данными.
Я передаю эти значения (изменяемые, значения варьируются)
b, c, a, li = 200, 30, 3 , [3,3]
в функцию с алгоритмом, и мой результат должен вернуться в виде списка.
[x1, x2, x3, ...]
x1, xn только для иллюстрации.
Образец кода:
b, c, a, li = 200, 30, 3 , [1,1]
def func(b,c,a,li):
for index, item in enumerate(li):
if index == 0:
if a %2 == 0:
Result = []
start= 0
for num in range(a):
Result[:0]=[start+num*c]
Result[-1:]=[b-num*c]
else:
Result = []
start= 0
for num in range(a):
Result[:0]=[start+num*c]
Result[-1:]=[b-num*c]
return Result
g = func(b,c,a,li)
print(g)
Выход:
[60, 30, 140]
Я ожидаю получить вывод как:
[0, 100, 200]
То, чего я хочу достичь, это как показано ниже:
Например, в приведенном выше примере:
Внутренняя функция цикла for сначала проверяет первое значение списка, равное 1., затем помещает x1
и второе значение списка, равное 1, и помещает x2
, остальные равны 1, его следует поместить как * 1029. Значения *, se figur и xn рассчитываются как x1=b-b=0
, x2=b
, x3= x1 + b/(a-len(li)+1)
![enter image description here](https://i.stack.imgur.com/jaNqd.png)
Другой пример с четными числами:
b, c, a, li = 300, 35, 4 , [2,2]
![enter image description here](https://i.stack.imgur.com/mmsNC.png)
Выход:
[ 0, 35, 265, 300]
Другой пример с нечетными числами:
b, c, a, li = 400, 25, 5 , [2,2]
![enter image description here](https://i.stack.imgur.com/uLnLT.png)
Выход:
[ 0, 25, 200, 375, 400]
Другой пример с некоторыми другими числами:
b, c, a, li = 350, 40, 3 , [4,2]
Выход:
[ 0, 40, 350]
Мне действительно трудно написать шаблон алгоритма, который решает головоломку. Я очень ценю любую помощь. Спасибо.