今天完成了week4的ps4b部分,代码如下:
感觉好多重复代码,目前还没想到如何删繁就简,将就看吧。后续继续优化改进。
1 def playGame(wordList): 2 """ 3 Allow the user to play an arbitrary number of hands. 4 5 1) Asks the user to input 'n' or 'r' or 'e'. 6 * If the user inputs 'e', immediately exit the game. 7 * If the user inputs anything that's not 'n', 'r', or 'e', keep asking them again. 8 9 2) Asks the user to input a 'u' or a 'c'. 10 * If the user inputs anything that's not 'c' or 'u', keep asking them again. 11 12 3) Switch functionality based on the above choices: 13 * If the user inputted 'n', play a new (random) hand. 14 * Else, if the user inputted 'r', play the last hand again. 15 16 * If the user inputted 'u', let the user play the game 17 with the selected hand, using playHand. 18 * If the user inputted 'c', let the computer play the 19 game with the selected hand, using compPlayHand. 20 21 4) After the computer or user has played the hand, repeat from step 1 22 23 wordList: list (string) 24 """ 25 hand={} 26 while True: 27 tips=input('Enter n to deal a new hand, r to replay the last hand, or e to end game: ') 28 if tips not in ('n','r','e'): 29 print('Invalid command.please try again.') 30 else: 31 if tips=='e': 32 break 33 elif tips=='r': 34 if hand == {}: 35 print('You have not played a hand yet. Please play a new hand first!') 36 else: 37 while True: 38 uc = input('Enter u to have yourself play, c to have the computer play:') 39 if uc == 'c': 40 compPlayHand(hand, wordList, HAND_SIZE) 41 break 42 elif uc == 'u': 43 playHand(hand, wordList, HAND_SIZE) 44 break 45 else: 46 print('Invalid command.') 47 else: 48 hand=dealHand(HAND_SIZE) 49 while True: 50 uc=input('Enter u to have yourself play, c to have the computer play:') 51 if uc=='c': 52 compPlayHand(hand,wordList,HAND_SIZE) 53 break 54 elif uc=='u': 55 playHand(hand, wordList, HAND_SIZE) 56 break 57 else: 58 print('Invalid command.')
以上,就酱紫。