You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:50:31