Ok, I figured it out on my own.
having this:
print(someString, end=anything)
causes the output to not load in. This is because the code is buffering, and holds onto the output. My solution was to refresh my output every print, using sys.stdout.flush(). Here is the code that lets the output go:
import sys
sys.stdout.flush()
Here is my final "pretend-typer" code:
import msvcrt as m
import sys
def wait():
m.getch()
print(" ")
stringy = """code"""
for i in stringy:
wait()
s = i
print(s, end="")
sys.stdout.flush()
Replace stringy with whatever you want the user to type. This does not work in emulators such as PyCharm or Eclipse, unless you run in console mode. This needs to be in a console.