How to fix Python restarting whenever I start prog

2019-09-23 13:08发布

问题:

import random

winning_conditon = 0
no_of_guesses = 0
comp_guess = random.randint(1,100)

while (no_of_guesses == 11) or (winning_conditon == 1):
    user_guess = int(input("What is your guess? "))
    if user_guess < 1 or user_guess > 100:
        print("Your number is invalid!")

    elif comp_guess == user_guess:
        print("Well Done!")
        winning_condition = 1
    elif comp_guess < user_guess:
        print("Your number is too high!")
    elif comp_guess > user_guess:
        print("Your number is too low!")

    no_of_guesses = no_of_guesses + 1
    print(no_of_guesses)
print("You haven't guessed the right amount of times or u won.")

Whenever I start python IDLE (i am using Portable Python 3.2.5.1 (http://portablepython.com/wiki/PortablePython3.2.5.1/)) it comes up with a restart message and then it displays an "=" sign and doesn't continue the program. Do you know a fix?

回答1:

When I run your program I get this output:

Python 3.2.5 (default, May 15 2013, 23:06:03) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
You haven't guessed the right amount of times or u won.
>>> 

This is perfectly fine and expected.

I would modify your program this way:

while not (no_of_guesses == 11 or winning_conditon == 1)

while not would be the equivalent of until.