(三)Python语法基础(实战)
1.身体质量指数BMI
身体质量指数BMI,与人的体重和身高相关,是目前国际常用的衡量人体胖瘦程度以及是否健康的一个指标。已知BMI的计算公式如下:
BMI= 体重(kg)÷身高(m)÷身高(m)
请编写代码实现根据用户输入的身高体重计算BMI的功能。
# 身体质量指数
height=float(input("请输入身高/m"))
weight=float(input("请输入体重/kg"))
print('BMI:{:.2f}'.format(weight/height/height))#保留两位小数
解析:
①第一行代码这里你可能注意到float和input嵌套调用的情况,这是非常常见的,甚至有三个以上的函数嵌套调用。这时候我们只需要关注小括号(括号都是成对出现的,第一个左括号对应最后一个右括号,第二个对应倒数第二个)。
②从最内层的一对小括号以及小括号前的函数名开始看,这里首先是一个input函数,用来输入。输入完之后使用了float函数进行了数据类型的转换。转换完之后赋值给了height。
在使用input函数的时候要注意,输入的内容默认是字符串类型的,如果想要用这些输入的数据进行计算,你需要将这些字符串先强制转换为数字类型(进一步考虑到,身高、体重可能是小数,所以可以使用float函数将输入的数据强制转换为浮点数)
③最后通过print函数进行打印,这里使用format进行格式化输出,直接用weight/height/height的计算结果替换掉前面字符串'BMI:{:.2f}'中的{:.2f},格式为保留两位小数。
2.温度转换
从键盘读入一个华氏温度,按下述公式将其转换为摄氏温度并输出。转换公式为:c = 5(f-32)/9,其中f表示华氏温度,c表示摄氏温度。
对于浮点数类型的变量c,保留两位小数输出请使用下述语句:print(f"{c:.2f}")
输入格式:
一个浮点数(华氏温度),如132.0
输出格式:
摄氏温度(保留两位小数),如55.56
f=float(input())
c = 5(f-32)/9
print(f"{c:.2f}")
3.计算矩形的周长和面积
编写一个程序,要求用户输入矩形的长度 l 和宽度 w,然后计算并输出矩形的周长和面积。公式:
Perimeter=2×(l+w)
Area=l×w
输入格式:
输入两行,第一行一个正整数,表示矩形的长度 l,第二行一个正整数,表示矩形的宽度 w。
输出格式:
输出两行,第一行一个整数,表示矩形的周长,第二行一个整数,表示矩形的面积。
l=int(input("请输入矩形的长l:"))
w=int(input("请输入矩形的宽w:"))
print(2*(l+w))
print(l*w)
注意:
- 题目说长和宽都是整数,所以直接使用int函数将输入的数据强制转换为整数即可。
- 另外题目要求输出是两行,所以需要两个print,因为print函数默认执行一次换行一次(其实是额外打印了一个换行符'\n'才有了换行的效果的)。
4.输出三位数百、十、个位上的数字
用户输入一个三位自然数,计算并输出其百位、十位和个位上的数字。
输入格式:
输入1个自然数。如123
输出格式:
输出各位数字,用空格隔开。如1 2 3
N = int(input('请输入一个三位自然数')
B = N//100
S = N//10%10
G = N%10
print(f"{B} {S} {G}")
5.format应用练习
输入一个浮点数,要求整数部分是五位,小数部分是三位。编写程序,使用format()函数输出该浮点数,要求宽度为 25、使用加号“+”填充、右对齐方式、输出千位分隔符、保留小数点后2位。
输入格式:
输入一个浮点数,例如:12345.789
输出格式:
例如:++++++++++++++++12,345.79
# 获取用户输入的浮点数
num = float(input())# 使用format()函数格式化输出
print('{:+>25,.2f}'.format(num))
format()
函数的格式化说明符:
+
以+号填充
>
右对齐,填充左侧(<是左对齐,^是居中对齐向两侧填充)
25 总宽度为25个字符(字符串的本质上是一个一个的字符构成的,一个字符是一位中文或一个字母或一个特殊符号或一个转义字符,如'9'、'a'、'!'、'\n',注意'29'是两个字符的字符串)
,
使用千位分隔符
.2f
保留2位小数