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

Python:温度转化

题目内容:

在温度刻画的不同体系中,利用程序辅助进行摄氏度和华氏度之间的转换。

设计算法:根据华氏和摄氏温度定义,其单位刻度对应温度关系为(212-32)/(100-0)=1.8,转换公式如下(C为摄氏度,F为华氏度):

C = ( F – 32 ) / 1.8

F = C * 1.8 + 32

(摄氏度以1标准大气压下水的结冰点为0度,沸点为100度。华氏度以1标准大气压下水的结冰点为32度,沸点为212度。)

输出样例如图:

代码如下:

input_str = input("需转换的温度为?")
temp_value, temp_system = input_str[:-1], input_str[-1]
if temp_system == 'C':
    converted_temp = int(float(temp_value) * 1.8 + 32)
    print(f"转换后的温度为{converted_temp}F")
elif temp_system == 'F':
    converted_temp = int((float(temp_value) - 32) / 1.8)
    print(f"转换后的温度为{converted_temp}C")
else:
    print("输入格式错误")

解释如下:

  • input() 是 Python 的内置函数,用于从用户那里获取输入。程序会在控制台显示提示信息 "需转换的温度为?",等待用户输入内容。
  • 用户输入的内容会被存储为字符串类型,并赋值给变量 input_str。例如,如果用户输入 25C,那么 input_str 的值就是 "25C"
  • input_str[:-1] 是字符串切片操作,它表示取字符串 input_str 从开头到倒数第二个字符的所有字符。这部分内容代表温度的数值。
  • input_str[-1] 表示取字符串 input_str 的最后一个字符,这部分内容代表温度的单位(C 或 F)。
  • 通过这一步,我们将用户输入的字符串拆分成了温度值和温度单位,并分别赋值给变量 temp_value 和 temp_system
  • if 条件语句,用于判断温度单位是否为摄氏度('C')。
  • 如果 temp_system 的值是 'C',则进行摄氏度到华氏度的转换。具体转换公式为:,其中  表示华氏度, 表示摄氏度。
  • float(temp_value) 是将字符串类型的温度值转换为浮点数类型,以便进行数学运算。
  • int(...) 是将计算结果转换为整数类型,去掉小数部分。
  • 最后使用 print() 函数和 f-string 格式化输出转换后的温度,单位为华氏度(F)。
  • else 语句,如果 temp_system 的值既不是 'C' 也不是 'F',说明用户输入的温度单位不符合要求,程序会输出 "输入格式错误"

综上所述,这段代码通过获取用户输入的温度和单位,根据不同的单位进行相应的温度转换,并输出转换后的结果。如果输入格式不正确,会给出错误提示。

 

觉得有帮助就给博主点个关注叭~~

有问题的可以私信或者在评论区一起交流

友友们一起加油叭QAQ

 


http://www.kler.cn/a/534177.html

相关文章:

  • 【怎么用系列】短视频戒除-2-(移动端)定时关闭抖音等短视频
  • 【含文档+PPT+源码】基于Python爬虫二手房价格预测与可视化系统的设计与实现
  • 小程序越来越智能化,作为设计师要如何进行创新设计
  • DeepSeek最新图像模型Janus-Pro论文阅读
  • 我们来学人工智能 -- 感悟DeepSeek
  • Notepad++消除生成bak文件
  • pandas习题 070:将数据库中大数据分块读取计算
  • 2.4学习
  • TCP三次握手、四次挥手过程及原理
  • swift 专题三 swift 规范一
  • 5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解
  • 在 Debian/Ubuntu 系统上,永久固定网口的IP地址
  • 基于 SpringBoot3 的 SpringSecurity6 + OAuth2 自定义框架模板
  • DeepSeek R1技术报告关键解析(8/10):DeepSeek-R1 的“aha 时刻”,AI 自主学习的新突破
  • Linux zcat 命令使用详解
  • labview通过时间计数器来设定采集频率
  • vue2-v-if和v-for的优先级
  • Ubuntu添加硬盘踩坑日志:SMB无权限的问题
  • 【前端构建】Rollup: 下一代 JavaScript 模块打包器
  • 【Elasticsearch】文本分类聚合Categorize Text Aggregation
  • 路由器及工作原理与常用路由配置命令详解
  • Redis主从模式与哨兵模式详解及案例分析
  • 如何利用maven更优雅的打包
  • java 日常下拉框接口字典封装
  • DeepSeek R1 简单指南:架构、训练、本地部署和硬件要求
  • 后缀表达式 C++ 蓝桥杯 栈