Python代码运行后出现None输出,如何消除该异常内容?
解决Python代码输出末尾出现"None"的问题
问题根源
代码里出现None是两个核心原因:
typewrite函数未定义返回值,Python中无返回值的函数默认返回None- 把
typewrite作为input的参数传入,input会接收函数返回的None作为提示逻辑的一部分;最后用print(typewrite(...))时,print会直接输出typewrite返回的None
修复后的完整代码
import sys import time def typewrite(string): for i in string: sys.stdout.write(i) sys.stdout.flush() time.sleep(0.04) # 先调用typewrite输出提示文本,再单独执行input获取用户名 typewrite(f''' ░▒▓▆▅▃▂▁𝐓𝐇𝐄 𝐔𝐍𝐂𝐀𝐍𝐍𝐘▁▂▃▅▆▓▒░ Welcome adventurer, what is your name? ''') username = input() # 直接调用typewrite,无需用print包裹 typewrite("Alright hero " + username + " let the adventure begin!")
关键修改说明
- 补充缺失的
sys和time模块导入(原代码未包含,运行会触发报错) - 将
input(typewrite(...))拆分为两步执行:先通过typewrite输出打字机效果的提示,再调用无参数的input()获取用户输入 - 移除最后的
print()包裹,直接调用typewrite函数,避免打印函数默认返回的None
内容的提问来源于stack exchange,提问作者Darklife12345
相关产品推荐
相关产品推荐

