Я пытаюсь избавиться от этого выражения yeild и оператора '% g' и заменить его оператором return, если у кого-нибудь есть идеи, как это сделать. Кроме того, я пытаюсь сделать так, чтобы это действительно работало как функция, и вы можете передавать в нее переменные и получать диапазон в виде списка, но я тоже не уверен, как это сделать. Любая помощь будет оценена. Я очень запутался в этом.
Код должен действовать как функция диапазона, но возвращает список.
def myRange(start, stop=None, step=None):
if stop == None:
stop = start
if step == None:
step = 1
while True:
if step > 0 and start >= stop:
break
elif step < 0 and start <= stop:
break
yield ("%g" % start)
start = start + step
lyst = myRange(0.5, 1.0, 0.1)
for num in lyst:
print (num)