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

如何在Python的input()函数中实现打字机效果?解决None显示问题

问题原因及解决办法

原因分析

你的typewriter函数未定义返回值,Python中未指定返回值的函数默认返回None。当你执行input(typewriter("Enter preferred codename: "))时,input()会先运行typewriter输出提示文本,随后将typewriter返回的None当作提示语的一部分显示,因此末尾会出现None。

解决办法

方法1:拆分调用(推荐)

先调用typewriter输出提示内容,再单独调用input()获取用户输入:

# -----Typewriter Template-----
import time, sys, os                
from random import uniform

def typewriter(str):                
  for letter in str:                
    sys.stdout.write(letter)        
    sys.stdout.flush()              
    time.sleep(uniform(0, 0.2))

# 先输出打字机效果的提示语
typewriter("Enter preferred codename: ")
# 再获取用户输入
code_name = input()

方法2:修改typewriter函数返回原字符串

让typewriter在完成输出后返回传入的文本,这样input()接收到的是原提示字符串而非None:

# -----Typewriter Template-----
import time, sys, os                
from random import uniform

def typewriter(str):                
  for letter in str:                
    sys.stdout.write(letter)        
    sys.stdout.flush()              
    time.sleep(uniform(0, 0.2))
  # 添加返回语句,返回传入的字符串
  return str

# 调用后不会显示None
code_name = input(typewriter("Enter preferred codename: "))

内容的提问来源于stack exchange,提问作者MaximusCodes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:48:17