print({with the {is here format(thepersonheretheitemhere)add the suspect and item at this place to our list of known suspects and itemsif thepersonhere not in knownsuspectsanditemsknownsuspectsanditems append(thepersonhereif items[currentlocationindexnot in knownsuspectsanditemsknownsuspectsanditems append(items[currentlocationindex]if currentlocation not in visitedplaces keys()visitedplaces[currentlocation'({}{})format(thepersonhere lower()theitemhere lower()if the player has accused this person wrongly beforethey won' give cluesif thepersonhere in accusedsuspectsprint('they are offended that you accused them,'print('and will not help with your investigation 'print('you go back to your taxi 'print(input('press enter to continue 'currentlocation 'taxicontinue go back to the start of the main game loop display menu of known suspects items to ask aboutprint(print('( " \'accuse!({accusations left)format(accusationsleft)print('(zask if they know where zophie the cat is 'print('(tgo back to the taxi 'for isuspectoritem in enumerate(knownsuspectsanditems)print('({}ask about {}format( suspectoritem)while truekeep asking until valid response is given response input(''upper(if response in 'jztor (response isdecimal(and int(response<len(knownsuspectsanditems))break if response =' 'player accuses this suspect accusationsleft - use up an accusation if thepersonhere =culprityou've accused the correct suspect print('you\'ve cracked the casedetective!'print('it was {who had catnapped zophie the cat format(culprit)minutestaken int(time time(starttime/ secondstaken int(time time(starttime print('good jobyou solved it in {min{sec format(minutestakensecondstaken)sys exit(elseyou've accused the wrong suspect accusedsuspects append(thepersonhereprint('you have accused the wrong persondetective!'print('they will not help you with anymore clues 'print('you go back to your taxi 'currentlocation 'taxiproject #