使用Python input函数时末尾莫名出现None的问题求助
问题原因
你的代码里,dp函数未定义返回值,默认会返回None。而input()函数的参数是要显示的提示文本,你把dp("Hello, whats your name? ")的调用结果传给input,相当于执行input(None)——dp已经逐个字符打印了提示字符串,随后input会把None转成字符串"None"追加显示在末尾,这就是你看到的问题。
解决方案
把dp的调用和input的调用分开,先让dp完成提示动画的打印,再调用无参数的input()接收输入:
import time import sys def dp(s): for c in s: if c != " ": sys.stdout.write(c) sys.stdout.flush() time.sleep(0.22) else: sys.stdout.write(c) sys.stdout.flush() time.sleep(0) dp("Hello, whats your name? ") name = input()
(另外可以简化dp里的判断逻辑,elif c == " "直接改成else即可,效果完全一致)
内容的提问来源于stack exchange,提问作者Evan2803
相关产品推荐
相关产品推荐

