Search code examples
pythonfor-loopnested-loops

Why is my nested for loop ending early? (python)


first_name = input("Please enter your first name: ").capitalize()
start_inner = int(input("Hi {}, please enter the start value for the inner 
loop: ".format(first_name)))
end_inner = int(input("Please enter the end value for the inner loop: "))
start_outer = int(input("Please enter the start value for the outer loop: "))
end_outer = int(input("Please enter the end value for the outer loop: "))
for outer in range(start_outer, end_outer):
    for inner in range(start_inner, end_inner):
        print("{:^2} {:^2}".format(outer, inner))

If I were to put 1(start_inner), 3(end_inner), 1(start_outer), 2(end_outer)

I should get:

1 1
1 2
1 3
2 1
2 2
2 3

Instead i get:

1 1
1 2

Any help is appreciated thanks.


Solution

  • pythons range(1,5) is non-inclusive for the end-term - meaning it will only loop from 1 to 4. Read more regarding this topic here :-)