我创建了一个BMI计算器,作为一个简单的初学者项目。一切正常,除了代码在额外的一行显示“无”的情况下输出了多余的不需要的文本。
代码如下:
def bmi_calculator(height, weight):
bmi = weight / (height ** 2)
print("Your bmi is:")
print(bmi)
if bmi > 25:
print("You are overweight")
else:
print("You are healthy")
a = input("What is you're height in metres?")
height = int(a)
b = input("What is you're weight in kilograms?")
weight = int(b)
print(bmi_calculator(height, weight))
我希望输出为(例如):
Your bmi is:
60.0
You are overweight
但是实际输出是:
Your bmi is:
60.0
You are overweight
None
答案 0 :(得分:2)
主程序中的print()
应该是一个简单的函数调用。 None
是print
,它显示函数的返回值-但是您的函数没有具有返回值; None
是默认设置。该功能可以完成所有需要的打印。
a = input("What is you're height in metres?")
height = int(a)
b = input("What is you're weight in kilograms?")
weight = int(b)
bmi_calculator(height, weight)
答案 1 :(得分:0)
发生这种情况是因为您正在打印函数bmi_calculator()
返回的内容。在python中,如果没有显式返回,则所有函数都将返回None。