In article <ikkdnevcx7wymjdmnz2dnuvz_ssdn...@giganews.com>, Larry Hudson <org...@yahoo.com> wrote:
> def partdeux(): > print('A man lunges at you with a knife!') > option = input('Do you DUCK or PARRY? ').lower() > success = random.randint(0, 1) > if success: > if option == 'duck': > print('He tumbles over you') > return > if option == 'parry': > print('You trip him up') > return > print('He stabs you') I'm going to suggest another possible way to organize this. I'm not claiming it's necessarily better, but as this is a learning exercise, it's worth exploring. Get rid of all the conditional logic and make this purely table-driven: responses = {(0, 'duck'): "He tumbles over you", (0, 'parry'): "You trip him up", (1, 'duck'): "He stabs you", (1, 'parry'): "He stabs you", } and then.... def partdeux(): print('A man lunges at you with a knife!') option = input('Do you DUCK or PARRY? ').lower() success = random.randint(0, 1) print responses[(success, option)] Consider what happens when the game evolves to the point where you have four options (DUCK, PARRY, RETREAT, FEINT), multiple levels of success, and modifiers for which hand you and/or your opponent are holding your weapons in? Trying to cover all that with nested logic will quickly drive you insane. -- http://mail.python.org/mailman/listinfo/python-list