Python实现姓名首字母大写时NoneType与str相加报错如何解决
首字母大写转换代码报错修复方案
错误原因
报错unsupported operand of +:'Nonetype' and 'str'的根因是你定义的solve函数没有显式返回值,Python中无return的函数默认返回None。你将None赋值给result后尝试和字符串'\n'拼接,自然触发类型不匹配错误。此外原代码未导入os模块,运行时还会触发name 'os' is not defined的报错。
修复后的完整代码
import os def solve(s): c = str(s) if 0 < len(c) < 1000: # 把print改为return,将转换后的结果返回给调用方 return c.title() # 边界情况返回原字符串,可根据需求调整 return c if __name__ == '__main__': fptr = open(os.environ['OUTPUT_PATH'], 'w') s = input() result = solve(s) fptr.write(result + '\n') fptr.close()
补充说明
Python内置的str.title()方法刚好匹配你的需求:会将字符串中每个单词的首字母转为大写,其余字母转为小写,输入adam grant时输出正好是Adam Grant。
内容的提问来源于stack exchange,提问作者Abburu Manish
相关产品推荐
相关产品推荐

