Для начала - выучить азы pyhon.
def generator():
pass
gen = generator()
Смысл объявления пустой функции?
gen = (s(k)/4 for k in range(10)):
Во-первых, конструкция вида
[литерал](
[аргументы]) всегда будут восприниматься как вызов функции с названием
[литерал] аргументами
[аргументы]. А объявленой функции с именем s у вас нет.
Далее непонятно, зачем у вас двоеточие и
print(next(gen))
с отступом.
И к тому-же, next(gen) не будет работать, т.к. generator() ничего не возвращает.
Если пытались изменить код, то зачем? Судя по шаблону, вам нужно написать генератор в соответствующей функции generator() и уже по нему итерироваться.
def generator():
pass
gen = generator()
for _ in range(10):
print(next(gen))