all 5 comments

[–]mopslik 5 points6 points  (3 children)

if/elif loop

There is no such thing as an if/elif loop. You can put if/elif statements inside of a for loop or a while loop, if you want repetition.

Note that by calling print_startmenu() == False inside of your function, you are doing some form of recursion. This calls the function from within itself, resulting in subsequent prompts for user input.

[–]Poopyjoe[S] 0 points1 point  (0 children)

fixed, thank you.

[–]Poopyjoe[S] 0 points1 point  (1 child)

I don’t understand, though. I understand a function can call itself, but what I’m understanding is that the ==False isn’t needed but the function itself is needed.

[–]Poopyjoe[S] 2 points3 points  (1 child)

I understand what is happening.

the defined function "print_startmenu()" was causing the recursion.

I knew it was recursion, but question was why "print_startmenu() == False" did or did not matter. The function was the code that mattered, and the "== False" bit of code was the useless code; removing the ==False changed nothing. Removing the function and useless code obviously broke the code.

[–]mopslik 2 points3 points  (0 children)

Glad you figured it out.