Generate an Hour Glass pattern
Read PEP8, it will give you directions on how to write Python code that look like Python code to other.

Other than that, the behaviour you're seeking is already implemented in range:

&gt;&gt;&gt; a = range(7, 0, -2)
&gt;&gt;&gt; list(a)
[7, 5, 3, 1]


You just need to reverse it to form the full hourglass:

&gt;&gt;&gt; a = range(7, 0, -2)
&gt;&gt;&gt; list(a) + list(reversed(a))
[7, 5, 3, 1, 1, 3, 5, 7]


And remove the repeated center:

&gt;&gt;&gt; decreasing = range(7, 0, -2)
&gt;&gt;&gt; increasing = reversed(decreasing)
&gt;&gt;&gt; next(increasing)  # Remove duplicated center
&gt;&gt;&gt; list(decreasing) + list(increasing)
[7, 5, 3, 1, 3, 5, 7]


Now you can make use of itertools.chain instead of list concatenation and turn your function into a generator to separate computation from printing.

import itertools


def hourglass(size):
    decreasing = range(size, 0, -2)
    increasing = reversed(decreasing)
    next(increasing, None)  # Remove duplicated center
    for length in itertools.chain(decreasing, increasing):
        yield '{:^{}}'.format('@' * length, size)


if __name__ == '__main__':
    for i in range(20):  # Test our function
        print('\n'.join(hourglass(i)), end='\n---\n')


Note that if you are using Python 3.6+ you can format the line using

yield f'{"@" * length:^{size}}'


instead which may be slightly more readable.