第一个图中,在执行 print(bianli__str('sjsjsj'))这句时,首先执行print括号中的内容,即进入bianli__str函数,执行了函数中的print语句,打印的内容是字符串的每一个字符,然后退出函数,执行print这个操作,print的内容是你定义的函数,这个函数本身是没有值的,所以是None
解决的方法就是调用函数的时候不用再print了,如下图:
第二个图中结果不对是因为return就会退出函数,所以打完第一个字符后就退出了
你调用的时候是
print(bianli_str('sjsjsj))
先调用了bianli_str函数打印了字符串'sjsjsj',最后print了bianli_str('sjsjsj')的返回结果,按照第一张图片里函数的写法,函数没有返回结果,也就是None。
你按第一张图片的写法,把调用时的print去掉直接调用函数bianli_str('sjsjsj')即可。