Syntax issue with my for loop and while loop keeps repeating infinitely (python)

Solution 1:

You have some indentation issues. This way works:

while True:
    try:
        print("Insert a number: ")
        user_input = input()
        if user_input == 'q':
            exit()
        n = int(user_input)
        if n <= 0:
            print("Only positive numbers allowed")
        else:
            print(n * (n+1) // 2)
    except ValueError:
        print("Please enter an integer")

Output sample:

Enter a number: 
>>> 10
55
Enter a number: 
>>> 1
1
Enter a number: 
>>> -1
Only positive numbers allowed
Enter a number: 
>>> asd
Please enter an integer
Enter a number: 

See more about indentation in the docs.