• 006 实例1-温度转换


    一、"温度转换"问题分析

    1.1 温度转换

    温度刻画的两种不同体系

    • 摄氏度:中国等世界大多数国家使用
      • 以1标准大气压下水的结冰点为0度,沸点为100度,将温度进行等分刻画
    • 华氏度:美国、英国等国家使用
      • 以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

    1.2 需求分析

    两种温度体系的转换

    • 摄氏度转换为华氏度
    • 华氏度转换为摄氏度

    1.3 问题分析

    该问题中计算部分的理解和确定

    • 理解1:直接将温度值进行转换
    • 理解2:将温度信息发布的声音或图像形式进行理解和转换
    • 理解3:监控温度信息发布渠道,实时获取并转换温度值

    1.3.1 分析问题

    • 采用 理解1:直接将温度值进行转换
      • 温度数值需要标明温度体系,即摄氏度或华氏度
      • 转换后也需要给出温度体系

    1.3.2 划分边界

    • 输入:带华氏或摄氏标志的温度值
    • 处理:根据温度标志选择适当的温度转换算法
    • 输出:带摄氏或华氏标志的温度值

    1.3.3 输入输出格式设计

    标识放在温度最后,F表示华氏度,C表示摄氏度

    82F表示华氏82度,28C表示摄氏28度

    1.3.4 设计算法

    根据华氏和摄氏温度定义,利用转换公式如下:

    [C = ( F – 32 ) / 1.8 \ F = C * 1.8 + 32 ]

    其中, C表示摄氏温度, F表示华氏温度

    二、"温度转换"实例编写

    # TempConvert.py
    
    TempStr = input("请输入带有符号的温度值: ")
    
    if TempStr[-1] in ['F', 'f']:
        C = (eval(TempStr[0:-1]) - 32) / 1.8
        print(f"转换后的温度是{C:.2f}C")
    elif TempStr[-1] in ['C', 'c']:
        F = 1.8 * eval(TempStr[0:-1]) + 32
        print(f"转换后的温度是{F:.2f}F")
    else:
        print("输入格式错误")
    

    编写上述代码,并保存为TempConvert.py文件

    # TempConvert.py
    
    TempStr = input("请输入带有符号的温度值: ")
    
    if TempStr[-1] in ['F', 'f']:
        C = (eval(TempStr[0:-1]) - 32) / 1.8
        print(f"转换后的温度是{C:.2f}C")
    elif TempStr[-1] in ['C', 'c']:
        F = 1.8 * eval(TempStr[0:-1]) + 32
        print(f"转换后的温度是{F:.2f}F")
    else:
        print("输入格式错误")
    
    请输入带有符号的温度值: 12f
    转换后的温度是-11.11C
    
    # TempConvert.py
    
    TempStr = input("请输入带有符号的温度值: ")
    
    if TempStr[-1] in ['F', 'f']:
        C = (eval(TempStr[0:-1]) - 32) / 1.8
        print(f"转换后的温度是{C:.2f}C")
    elif TempStr[-1] in ['C', 'c']:
        F = 1.8 * eval(TempStr[0:-1]) + 32
        print(f"转换后的温度是{F:.2f}F")
    else:
        print("输入格式错误")
    
    请输入带有符号的温度值: 12c
    转换后的温度是53.60F
    

    三、"温度转换"举一反三

    3.1 Python语法元素理解

    • 温度转换程序共10行代码,但包含很多语法元素
    • 清楚理解这10行代码能够快速入门Python语言
    • 参考框架结构、逐行分析、逐词理解

    3.2 输入输出的改变

    • 温度数值与温度标识之间关系的设计可以改变
    • 标识改变放在温度数值之前:C82, F28
    • 标识字符改变为多个字符:82Ce、28Fa

    3.3 计算问题的扩展

    • 温度转换问题是各类转换问题的代表性问题
    • 货币转换、长度转换、重量转换、面积转换…
    • 问题不同,但程序代码相似
  • 相关阅读:
    xml学习篇(二) ----JSON 和XML对比
    xml学习篇(一)
    在Tomcat下部署web项目
    三枪客
    在Eclipse中使用JUnit4进行单元测试(初级篇)
    在Eclipse中使用JUnit4进行单元测试(高级篇)
    在Eclipse中使用JUnit4进行单元测试(中级篇)
    hibernate学习之Hibernate API
    Hibernate学习之对象持久化
    MySQL【七】单表查询
  • 原文地址:https://www.cnblogs.com/nickchen121/p/11164029.html
Copyright © 2020-2023  润新知