我想慢慢地打印文本,也可以将其作为输入,但是最后它说无
问题内容:
我定义了此功能来缓慢打印文本:
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>>")))
慢速文本有效,但是在输入末尾输出:
What is your name? (EASTER EGG CODE: "blackbeard")
>>None
我该如何摆脱None
?
问题答案:
print_slow()
返回None
传递给input()
函数的内容。该函数使用该参数作为 提示 ,要求用户输入时显示给用户:
>>> input(None)
None
None
是任何函数的默认返回值,除非您使用return
语句为它提供了一个显式的返回值,而函数却没有此声明。
呼叫input()
分别 ,你不要 有 给它一个提示打印:
print_slow("\n\nWhat is your name? (EASTER EGG CODE: \"blackbeard\")\n>>")
s_name = input()
该str()
调用是多余的,在Python 3中input()
始终返回一个字符串。