Python编写乘法表函数运行后输出多余None,该如何处理?
问题原因
print()函数本身的返回值就是None,你在循环里把print()的返回值赋值给x,循环结束后x存的就是最后一次print()的返回值,也就是None- 调用
table函数的时候外面又套了一层print(),相当于把table函数返回的None又打印了一遍,所以输出末尾会多出来None
修改方案
两种改法任选其一即可,更推荐第二种写法,冗余代码更少:
改法1:调用函数时去掉外层print
table函数内部已经完成了乘法表的打印逻辑,不需要再用print接收它的返回值,直接调用即可:
def table(n): for i in range(1,6): j=i*n x = print(f"{i} * {n} = {j}") return x # 移除外层的print包裹 table(int(input("enter the number :")))
改法2:删除函数内无用的赋值和返回逻辑
你不需要存储print的返回值,也不需要函数返回额外内容,直接简化函数逻辑即可:
def table(n): for i in range(1,6): j=i*n print(f"{i} * {n} = {j}") table(int(input("enter the number :")))
内容的提问来源于stack exchange,提问作者dragonmaster
相关产品推荐
相关产品推荐

