当前位置: 首页 > news >正文

(三)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位小数

http://www.xdnf.cn/news/1400833.html

相关文章:

  • 为什么要用 Markdown?以及如何使用它
  • 【系列09】端侧AI:构建与部署高效的本地化AI模型 第8章:移动端部署实战 - Android
  • SQLSugar 封装原理详解:从架构到核心模块的底层实现
  • C++ 面试高频考点 力扣 34. 在排序数组中查找元素的第一个和最后一个位置 二分查找左右端点 题解 每日一题
  • PostgreSQL表空间(Tablespace)作用(管理数据库对象的存储位置)(pg_default、pg_global)
  • 一道比较难的sql题,筛选出重复字段的行数
  • 【物联网】bleak (scan)扫描在干什么? BLE 广播(Advertising)
  • jxWebUI--下拉选择框
  • AtCoder Beginner Contest 421
  • 海盗王64位dx9客户端修改篇之三
  • React前端开发_Day10
  • 骑行商城怎么开发
  • 【PCIE系列】1---PCIE系统拓扑结构分析
  • Ethan独立开发新品速递 | 2025-08-30
  • Libvio 访问异常排查关键要点
  • 基于Ultralytics YOLO通用目标检测训练体系与PyTorch EfficientNet的图像分类体系实现
  • oha:一款轻量级HTTP负载测试工具
  • 流式HTTP MCP服务器开发
  • ceph集群部署
  • 接雨水,leetCode热题100,C++实现
  • 嵌入式linux相机(2)
  • PostgreSQL数据类型一览(数值类型)
  • opencv实现轮廓绘制和选择
  • 生成式 AI 重构内容生产:效率提升背后的创作版权边界争议
  • day43-Ansible-PlayBook
  • 如何使用快照将 AWS OpenSearch 服务中的数据从开发环境复制到生产环境
  • 知料觅得-新一代AI搜索引擎
  • Linux网络服务发现在VPS云服务器自动化配置的关键技术与实践
  • 给某个conda环境安装CUDA 12.4版本 全局CUDA不变
  • C++的迭代器和指针的区别