On 16/12/2015 19:37, Ken Hammer wrote:
Intent is to print "Jack, Kack, ...." with "O" and "Q" delivering a longer suffix. Instead, I get the printout shown with duplicates and a second deviation with "O" and "Q" as shown. Why?
That's what you've told the code to do :)
prefixes = 'JKLMNOPQ' ###FAILS WITH REPEATS
### OH NO IT DOESN'T - nothing personal but it's pantomine season in the UK :)
suffix = 'ack' suffixb= 'uack' for letter in prefixes: if letter == "O": print letter + suffixb if letter == "Q": print letter + suffixb else: print letter + suffix
You test for "O", but then follow with a test for "Q" and an else clause. You could write :-
elif letter == "Q" but the cleanest way of doing this is:- for letter in prefixes: if letter in ("O", "Q"): print letter + suffixb else: print letter + suffix -- My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language. Mark Lawrence _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor