I have defined this function to print text slowly:
import sys
from time import sleep
def print_slow(s):
for letter in s:
sys.stdout.write(letter)
sys.stdout.flush()
time.sleep(0.075)
s_name = str(input(print_slow("\n\nWhat is your name? (EASTER EGG CODE: \"blackbeard\")\n>>")))
The slow text works, however at the end of the input it outputs:
What is your name? (EASTER EGG CODE: "blackbeard")
>>None
How do I get rid of the None
?
print_slow()
returns None
which you pass to the input()
function. That function uses that argument as the prompt to show the user when asking for input:
>>> input(None)
None
None
is the default return value of any function, unless you give it an explicit return value with a return
statement, which your function lacks.
Call input()
separately, you don't have to give it a prompt to print:
print_slow("\n\nWhat is your name? (EASTER EGG CODE: \"blackbeard\")\n>>")
s_name = input()
The str()
call is redundant, in Python 3, input()
returns a string, always.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With