Python分钟转小时函数输出正确但持续出现多余换行问题求助
问题产生原因
- 缩进错误:
minutes = float(input())这行代码缩进错误,被包含在了get_minutes_as_hours函数内部,只有函数被调用时才会执行输入读取,逻辑顺序完全错误。 - 重复打印+默认返回空值:函数内部已经用
print输出了计算结果,同时你没有给函数编写return语句,Python函数默认返回None,最后一行print(get_minutes_as_hours(minutes))相当于把这个None又打印了一遍,两次print调用各自带一个默认换行,就会出现多余换行,甚至会额外多输出一个None。 print函数默认特性:Python的print()方法默认会在输出内容末尾追加一个换行符\n,如果不需要默认换行可以手动指定end参数修改。
解决方法
方案1:让函数返回计算结果,外部统一打印(符合题目「输入分钟数返回对应的小时数」的功能要求)
修改后代码如下:
def get_minutes_as_hours(orig_minutes): return orig_minutes / 60 minutes = float(input()) print(get_minutes_as_hours(minutes))
方案2:如果需要函数内部完成打印,直接调用函数即可,不需要外层再加print
修改后代码如下:
def get_minutes_as_hours(orig_minutes): print(orig_minutes / 60) minutes = float(input()) get_minutes_as_hours(minutes)
如果需要手动取消print的末尾换行,把语句改成print(输出内容, end='')即可。
内容的提问来源于stack exchange,提问作者Bri S
相关产品推荐
相关产品推荐

