python 卡路里运算程序,没有运行结果

def main():
y_or_n = input('是否退出程序y/n?')
while y_or_n != 'y':
str_imfor = input('请您输入性别,体重(kg),身高(cm),年龄用空格隔开:')
list_imfor = str_imfor.split(' ')
gender = list_imfor[0]
weight = float(list_imfor[1])
height = float(list_imfor[2])
age = int(list_imfor[3])
if gender =='男':
bmr = (13.7*weight)+(5*height)-(6.8*age)+66
elif gender =='女':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if bmr != -1:
print('基础大卡={}',bmr)
else:
print('暂时不支持该性别')

    print()
    y_or_n = input('是否退出程序y/n?')

if name == 'main':
main()

你的程序缺少缩进,根本没法看,而且也不知道你的输入是什么。
没有输出应该是你代码执行的路径上没有出现要输出的东西。比如说
if bmr != -1:
你这个写在哪里了,它是不是整个写在了前面的else里面。
你输入了什么等等。
建议你学会调试或者在程序里加上中间输出看下代码怎么执行的。

if name == 'main':

这个要改成 if __name__ == '__main__':

另外需要对输入有效性做检查, 否则程序会抛异常

def main():
    y_or_n = input('是否退出程序y/n?')
    while y_or_n != 'y':
        str_imfor = input('请您输入性别,体重(kg),身高(cm),年龄用空格隔开:')
        list_imfor = str_imfor.split(' ')
        print(list_imfor)
        gender = list_imfor[0]
        print(gender)
        weight = float(list_imfor[1])
        print(weight)
        height = float(list_imfor[2])
        print(height)
        age = int(list_imfor[3])
        print(age)
        if gender =='男':
            bmr = (13.7*weight)+(5*height)-(6.8*age)+66
        elif gender =='女':
            bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
        else:
            bmr = -1
        if bmr != -1:
            print("基础大卡={",bmr,'}')
        else:
            print('暂时不支持该性别')
        y_or_n = input('是否退出程序y/n?')
'男 80 180 16'
if __name__ == '__main__':
    main()