Karthikeyan Singaravelan <[email protected]> added the comment:
Below is the formatted program for easier reading. In the while clause you ask
for the user to enter n to exit but you check (ch != n or ch != N) so on
entering "n" the first condition is false but second clause is true. For "N"
it's vice-versa. You want to continue the game as long as ch is not 'n' or "N'.
Hence using not(ch == 'n' or ch == 'N') will help in exiting the program. This
website is for bugs related to CPython itself. Please refer to stack overflow
or other mailing lists in future.
Thanks.
from random import randint
num = randint(1, 10)
print(type(num))
print(num)
ch = None # tried changing this tried converting types
guess = 0
print(type(guess))
print("Welcome to guessing game: ")
while (
ch != "n" or ch != "N"
): # here is the bug this statement is not running. It works with “and”
while guess != num:
guess = int(input("Enter your guess? "))
if guess == num:
print("You Guessed Congratz")
ch = input("Enter 'y' to play or 'n' to exit: ")
if ch == "y" or ch == "Y":
guess = 0
num = randint(1, 10)
print("Thankyou for playing.")
Fixed program :
from random import randint
num = randint(1, 10)
print(type(num))
print(num)
ch = None # tried changing this tried converting types
guess = 0
print(type(guess))
print("Welcome to guessing game: ")
while not (
ch == "n" or ch == "N"
): # Play until the ch is not n or N
while guess != num:
guess = int(input("Enter your guess? "))
if guess == num:
print("You Guessed Congratz")
ch = input("Enter 'y' to play or 'n' to exit: ")
if ch == "y" or ch == "Y":
guess = 0
num = randint(1, 10)
print("Thankyou for playing.")
----------
nosy: +jameshcorbett, xtreak
type: compile error -> behavior
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41436>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com