1.1python语言程序设计-温度转换实例

一,分析:

1.需求:

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

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

2.问题分析:

-理解1:直接将温度值进行转换

  • 理解2:将温度信息发布的声音或图像形式进行理解和转换
  • 理解3:监控温度信息发布渠道,实时获取并转换温度值
  • 输入:带华氏或摄氏标志的温度值
  • 处理:根据温度标志选择适当的温度转换算法
  • 输出:带摄氏或华氏标志的温度值
  • 输入输出格式设计
    标识放在温度最后,F表示华氏度,C表示摄氏度
    82F表示华氏82度,28C表示摄氏28度
    设计算法:
    根据华氏和摄氏温度定义,利用转换公式如下:
    C = ( F – 32 ) / 1.8
    F = C * 1.8 + 32
    其中, C表示摄氏温度, F表示华氏温度

二,编程设计

算法分析:

1.字符串:

由0个或多个字符组成的有序字符序列

  • 字符串由一对单引号或一对双引号表示
    "请输入带有符号的温度值: "或者 ‘C’
  • 字符串是字符的有序序列,可以对其中的字符进行索引
    “请” 是 "请输入带有符号的温度值: " 的第0个字符

2.字符串的序号

正向递增序号 和 反向递减序号
0 1 2 3 4 5 6 7 8 9 10 11
‘请 输 入 带 有 符 号 的 温 度 值 :’
-12-11-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
正向递增序号

3.数字类型

整数和浮点数都是数字类型

  • 整数:数学中的整数
    32 或者 -89
  • 浮点数:数学中的实数,带有小数部分

4.列表类型

由0个或多个数据组成的有序序列

  • 列表使用[ ]表示,采用逗号(,)分隔各元素
    [‘F’,‘f’]表示两个元素’F’和’f’
  • 使用保留字 in 判断一个元素是否在列表中
    TempStr[-1] in [‘C’,‘c’]判断前者是否与列表中某个元素相同

5.评估函数 eval()

去掉参数最外侧引号并执行余下语句的函数
eval()函数的基本使用格式:
eval(<字符串或字符串变量>)

三,编程实现

1.基础版代码部分:

temperature=input('请输入带有单位的温度值:')
if temperature[-1] in ['f','F']:
    t=(eval(temperature[0:-1])-32)/1.8
    print("输出的摄氏温度是{:.3f}C".format(t))
elif temperature[-1] in ['c','C']:
    f=1.8*eval(temperature[0:-1])+32
    print("输出的华氏温度是{:.3f}F".format(f))
else:
    print("你的输入有误!")

运行效果:
在这里插入图片描述

2.进阶版代码部分(可循环在终端窗口或一般运行窗)

while True:
    print("*"*10+'\n')
    temperature=input('请输入带有单位的温度值(输入break退出):')
    if temperature[-1] in ['f','F']:
        t=(eval(temperature[0:-1])-32)/1.8
        print("输出的摄氏温度是{:.3f}C".format(t))
    elif temperature[-1] in ['c','C']:
        f=1.8*eval(temperature[0:-1])+32
        print("输出的华氏温度是{:.3f}F".format(f))
    elif temperature=='break':
        break
    else:
        print("你的输入有误!")
    print("*"*10+'\n')

运行效果:
在这里插入图片描述
在这里插入图片描述
最后,文中如有不足,欢迎指正!
后期也会增加其他的内容!学习永无止步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值