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

Python 3.x输入转小写并拆分报错TypeError,求原因与解决方法

解决输入内容转小写并拆分单词的代码错误

嘿,咱们先捋清楚你代码里的问题,就能明白为啥会报这个错啦:

错误原因拆解

  • 调用input的方式错了:input是Python的内置函数,必须加括号input()才能获取用户输入的字符串,你写的input.split()是在操作函数本身,不是实际的输入内容哦。
  • join方法的调用搞反了:join是字符串实例的方法,不是str类的方法!比如要把列表拼成字符串,得用一个分隔符(比如空格' ')来调用join,写法是' '.join(列表),而不是反过来把列表传给str.join()。你现在把列表传进去,Python自然会吐槽“我要的是str对象,你给我个list干啥😅”。
  • lower()方法用错了对象:lower()只能处理单个字符串,你直接给str.lower()传一个列表,它肯定处理不了呀。咱们得先拿到字符串,再做小写转换。

正确的实现方案

这里给你两种常用写法,按需选择就行:

方案一:先转小写,再拆分(推荐,更高效)

先把整个输入字符串转成小写,再拆分成单词列表,一步到位:

# 获取输入→转小写→拆分成单词
command_split = input().lower().split()
print(command_split)

比如你输入Hi THERE How ARE You,输出就是['hi', 'there', 'how', 'are', 'you']。

方案二:拆分后逐个转小写(适合需要单独处理单词的场景)

如果需要对每个拆分后的单词做额外操作,再统一转小写,可以用列表推导式:

# 先拆分输入,再逐个转小写
command_split = input().split()
command_split_lower = [word.lower() for word in command_split]
print(command_split_lower)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:48:48