#๐ I'm getting an infinite loop! Need Help!
21 messages ยท Page 1 of 1 (latest)
@distant plinth
Remember to:
- Ask your Python question, not if you can ask or if there's an expert who can help.
- Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
- Explain what you expect to happen and what actually happens.
:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.
!paste
If your code is too long to fit in a codeblock in Discord, you can paste your code here:
https://paste.pythondiscord.com/
After pasting your code, save it by clicking the Paste! button in the bottom left, or by pressing CTRL + S. After doing that, you will be navigated to the new paste's page. Copy the URL and post it here so others can see it.
I'm playing a game of rock, paper, scissors against the code using the random module. When I input my choice, the code repeats endlessly, no matter what it is.
choice=getUserChoice()
I think this only gets run once before the loop right?
So you never get the chance to change this value, so you never exit the loop if you ever enter it
That makes sense. What would you suggest I do to correct this?
You need to request the choice within the loop
The easiest way to do this is going to be:
while True:
choice=getUserChoice()
if choice == -1:
break
# rest of code here
(There are ways to do it better using the walrus operator but you can learn that later :) )
Thank you. That error is fixed. The only other issue I'm having is when I put in a valid choices 1 or 3, they'll sometimes be invalid choices even though they're not.
Its when u choose 1 and comp chooses 2
Check what u do than
Id guess u copied some of ur own code and forgot to edit everything u need to
Or when u choose 3 and comp chooses 2
@distant plinth
Thank you! I corrected the code and it now works!
This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.