Python代码运行后输出底部出现None的原因及解决方法
问题原因
你的check_coins()函数内部只有print语句,没有定义返回值。在Python里,任何没有return语句的函数,默认都会返回None。而你最后一行写了print(check_coins()),这会先执行函数里的打印逻辑输出你需要的内容,紧接着又把函数返回的None打印出来,所以底部会多出这个额外的None。
解决方法
有两种简单的修复方式:
方式一:直接调用函数,不用print包裹
把最后一行的print(check_coins())改成check_coins(),因为函数内部已经完成了打印操作,不需要再打印函数的返回值。修改后的代码如下:
insert = input("Insert Coin: ") insert = int(insert) amount_due = 50 - insert def check_coins(): if insert >= 0 and insert < 50: print("Amount Due:", amount_due) elif insert > 50: print(insert - 50) else: print("Amount Due:", amount_due) check_coins()
方式二:让函数返回内容,外部统一打印
修改函数,把内部的print换成return,然后外部用print输出函数的返回值。这样逻辑更清晰,也避免重复打印。修改后的代码如下:
insert = input("Insert Coin: ") insert = int(insert) amount_due = 50 - insert def check_coins(): if insert >= 0 and insert < 50: return f"Amount Due: {amount_due}" elif insert > 50: return insert - 50 else: return f"Amount Due: {amount_due}" print(check_coins())
内容的提问来源于stack exchange,提问作者Mihaly
相关产品推荐
相关产品推荐

