一、在一行输入所有信息,带单位的信息输出
(一)、
- 字符串分割:str.split()参数为输入时的分隔符
- 格式化输出:str.format()例:”{}厘米,{}千克”.format(175,75) 引号后面是点
{}内可以填写参数位置,如果没有位置信息,按顺序填写,参数可以重复使用
(二)、
- 运行结果
2.代码
'''
作者:兰兰兰
功能:实现bmr计算器
版本: 3.0
日期:02/11/2018
新增功能:根据用户输入计算BMR,程序持续进行
新增功能:一次输入所有信息,并带单位输出信息
'''
def main():
'''
主函数
'''
y_or_no = input('是否退出程序(y or n)?')
while y_or_no != 'y':
print('请输入一下信息,请用空格分割')
input_str = input('性别,年龄,身高(cm),体重(kg):')
str_list = input_str.split(' ')
gender = str_list[0]
age = int(str_list[1])
height = float(str_list[2])
weight = float(str_list[3])
if gender == '男':
#男性
BMR = (13.7 * weight)+(5.0 * height)-(6.8 * age)+66
elif gender == '女':
#女性
BMR = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 65
else:
BMR = -1
if BMR != -1:
print('您的性别:{},身高:{}cm,体重:{}kg,年龄:{}'.format(gender,height,
weight,age))
print('基础代谢率:{}(大卡)'.format(BMR))
else:
print('暂不支持该性别!')
print('--------------------分割线--------------------')
y_or_no = input('是否退出程序(y or n)?')
else:
print('程序已退出!')
if __name__ == '__main__':
main()
四、处理异常
1. 异常处理机制
try: 当遇到try语句,先尝试执行包含的代码块
<body> 如果没有发生错误,则执行try-except后面的语句
Except <ErrorType1>: 已知可能错误的错误名
<handler1> 错误发生后执行的语句
Except <ErrorType2>:
<handler21>
Except: 未知错误
<handler0>
2.运行结果
- 代码
'''
作者:兰兰兰
功能:实现bmr计算器
版本: 3.0
日期:02/11/2018
新增功能:根据用户输入计算BMR,程序持续进行
新增功能:一次输入所有信息,并带单位输出信息
新增功能:处理异常操作
'''
def main():
'''
主函数
'''
y_or_no = input('是否退出程序(y or n)?')
while y_or_no != 'y':
print('请输入一下信息,请用空格分割')
input_str = input('性别,年龄,身高(cm),体重(kg):')
str_list = input_str.split(' ')
try:
gender = str_list[0]
age = int(str_list[1])
height = float(str_list[2])
weight = float(str_list[3])
if gender == '男':
#男性
BMR = (13.7 * weight)+(5.0 * height)-(6.8 * age)+66
elif gender == '女':
#女性
BMR = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 65
else:
BMR = -1
if BMR != -1:
print('您的性别:{},身高:{}cm,体重:{}kg,年龄:{}'.format(gender,height,
weight,age))
print('基础代谢率:{}(大卡)'.format(BMR))
else:
print('暂不支持该性别!')
except IndexError:
print('请输入所有信息!')
except ValueError:
print('请输入正确格式的信息!')
except:
print('程序异常!')
print('--------------------分割线--------------------')
y_or_no = input('是否退出程序(y or n)?')
else:
print('程序已退出!')
if __name__ == '__main__':
main()