Python while loop condition check for string -
in codeacademy, ran simple python program:
choice = raw_input('enjoying course? (y/n)') while choice != 'y' or choice != 'y' or choice != 'n' or choice != 'n': # fill in condition (before colon) choice = raw_input("sorry, didn't catch that. enter again: ") i entered y @ console loop never exited
so did in different way
choice = raw_input('enjoying course? (y/n)') while true: # fill in condition (before colon) if choice == 'y' or choice == 'y' or choice == 'n' or choice == 'n': break choice = raw_input("sorry, didn't catch that. enter again: ") and seems work. no clue why
you have logic inverted. use and instead:
while choice != 'y' , choice != 'y' , choice != 'n' , choice != 'n': by using or, typing in y means choice != 'y' true, other or options no longer matter. or means one of options must true, , given value of choice, there @ least 1 of != tests going true.
you save typing work using choice.lower() , test against y , n, , use membership testing:
while choice.lower() not in {'n', 'y'}:
Comments
Post a Comment