I have written the following code but it is getting unnecessarily lengthy and messy. How can I keep it dry ? Any tips please ?
I think you can modularize the stdout part as a function, then call it whenever you need to print stuff using that style, instead of rewriting the loop and its content each time you need it. def gamePrint(question): for character in question : sys.stdout.write(character) sys.stdout.flush() time.sleep(0.05) def startGame(): os.system('clear') gamePrint("Hello, what's your name?\n") playerName = input("> ") gamePrint("What role do you want to play?\n" + playerName +" ,You can play as Iron Man, Thor, Captain America\n")
Masquerade yes, you could print different dialogs at different speeds. Include another function argument called speed or something like that. (sleep maybe) i.e def gamePrint(question, speed): See: https://www.sololearn.com/learn/JUMP_LINK__&&__Python__&&__JUMP_LINK/2286/?ref=app
Exactly as jay pointed out. E.g. def gamePrint(question, s): for character in question : sys.stdout.write(character) sys.stdout.flush() time.sleep(s)
oh wow ! Sweet. Thanks a lot jay and Hatsy. I wonder, why I couldn't think of this, even when I have studied and understood the chapters you referred. Before, I got the answer, I was so confused but now it's so clear.
Okay hatsy, that's working. thanks. But what, if I wanted to print different dialogues with different speeds ? would that be possible ?