python 变量名 递增_Python学习笔记 | 实例1: 温度转换

本文介绍了如何使用Python将华氏度转换为摄氏度,反之亦然,遵循特定的转换算法。文章还强调了编程语言的基础知识,包括变量、输入/输出、保留字和数据类型的使用。
摘要由CSDN通过智能技术生成

本文为中国大学MOOC《Python语言程序设计》课程学习笔记,课程主讲:嵩天老师,练习平台:Python123

一、题目描述

这是"实例"题,与课上讲解实例相同,请作答检验学习效果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

请编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

转换算法如下:(C表示摄氏度、F表示华氏度)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

C = ( F - 32 ) / 1.8‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

F = C * 1.8 + 32‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(4) 使用input()获得测试用例输入时,不要增加提示字符串。

二、概述

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

温度转换是编程语言经典的入门学习案例,在这10行代码中蕴含许多知识点,将相关的每个知识点理解透彻将有助于我们打好基本功。

注:该段代码为MOOC课程中的案例,未完全按第一部分的题目要求

三、代码逐行拆解分析

第1行 #TempConvert.py
  • 注释

# 是注释,为了提高代码的可读性,不参与代码的执行。TempConvert.py指的是当前的文件名。

注释分为单行注释和多行注释,单行注释直接使用#,如果要注释的内容多于1行,可以在每行使用#注释。为了方便,也可以在注释内容的开头和结尾使用''','''为多行注释

075fdc40f4aa0dfdf460611132128185.png
多行注释的使用
第2行 TempStr = input("请输入一个温度值:")
  • 变量

TempStr是变量名,可以使用等号(=)向变量赋值或修改值,=被称为赋值符号

  • 变量的命名规则

大小写字母、数字、下划线和汉字等字符及组合。

对变量命名需要注意3点:

  1. 大小写敏感,TempStr和tempStr是不同的变量
  2. 不能以数字开头,比如:123TempStr是不合规的
  3. 不能与保留字相同,比如:if、in、else等
  • 保留字
  1. 保留字是Python语言的基本单词,大小写敏感
  2. Python一共有33个保留字,除3个首字母(True、False、None)大写之外,其余均为小写
  • input()

从控制台获得用户输入的函数

  1. 使用格式:<变量> = input(<提示信息字符串>)
  2. 用户输入的信息以字符串类型保存在<变量>中

到这里,相信你已经能理解:TempStr = input("请输入一个温度值:") 这句代码的含义了,它代表在控制台提示用户文本内容:请输入一个温度值,当用户输完内容后,就会将输入的内容以字符串类型赋值给TempStr变量。

第3行 if TempStr[-1] in ['C','c']:
  • 分支语句
  1. 使用保留字 if、elif、else构成条件判断的分支结构
  2. 每个保留字所在行最后存在一个冒号,是语法的一部分

对于初学者需要注意的是,在if、elif、else所在行最后都有冒号,如果输入正确,在键盘上按Enter键换行时,下一行会自动缩进;而如果忘记输入冒号,下一行不会自动缩进。掌握这个规律有助于及时发现代码中漏写冒号的错误。

  • Python基础语法体系中最常用的数据类型
  1. 整数类型:10011101
  2. 字符串类型:"10,011,101"
  3. 列表类型:[10,011,101]
  • 字符串类型
  1. 由一对单引号或一对双引号表示(使用单引号和双引号没有区别)
  2. 字符串是字符的有序序列,可以对其中的字符进行索引
  3. "请"是字符串"请输入带有符号的温度值:"的第0个字符
  • 字符串的序号
  1. 有两种标注字符串序号的方法:正向递增序号和反向递减序号
  2. 正向递增序号:从左至右,左侧第1个字符是第0项
  3. 反向递减序号:从右至左,右侧第1个字符是第-1项;
  • 字符串的索引:返回字符串中单个字符 <字符串>[M]
  1. <字符串>[0],代表正数第1位
  2. <字符串>[-1],代表倒数第1位
  • 字符串的切片:返回字符串中一段字符子串 <字符串>[M:N] (注意:不到N)
  1. <字符串>[0:-1],从正数第1位,一直到不到倒数第1位,也就是除了最后一位。TempStr[0:-1],从第0个字符到不到倒数第1个字符,相当于把TempStr的最后一个字符去掉
  2. <字符串>[3:],从正数第4位,一直到最后的字符串
  3. <字符串>[:3],从正数第1位,一直到正数第3位
  • 列表类型
  1. 列表使用[]表示,采用逗号(,)分隔各元素,['F','f']表示两个元素'f'和'F'
  2. 使用保留字 in 判断一个元素是否在列表中,TempStr[-1] in ['C', 'c']判断前者是否与列表中某个元素相同

有了对以上知识点的学习,我们再来看第3行代码的含义

if TempStr[-1] in ['C','c']:

TempStr[-1]代表的是TempStr的倒数第1位字符,这句代码的意思是判断用户输入的倒数第1个字符是否在列表"C"、"c"中,即判断输入的最后一个字符是否是"C"或"c"

第4行 F = eval(TempStr[0:-1])*1.8 + 32
  • 评估函数
  1. 去掉参数最外侧引号并执行余下语句的函数
  2. eval()函数的基本使用格式
    >>> eval("1")
    1
    >>>eval("1+2")
    3
    >>>eval('"1+2"')
    "1+2"
    >>>eval("print("Hello")")
    Hello

TempStr[0:-1]代表用户输入的除去最后一位的字符串,比如假设用户输入的是“32C”,那么TempStr[0:-1]所得的结果为字符串“32”,注意此时不是数字32。

eval(TempStr[0:-1]),即eval("32")得到的结果是数字32,然后再到公式中进行运算,求得F变量的数值。

第5行 print("转换后的温度值是:{:.2f}F".format(F))
  1. 输出函数print(),以字符形式向控制台输出结果的函数
  2. {:.2f},{}表示槽,将后续变量填充到槽中,在此理解为将.format(F)里面的F变量的值引入进来,而F的值在第4行中已经计算出来。代码比较简短容易理解时,也可以直接将公式写在.format()中。对于复杂的代码建议仍然按参数这种写法,可读性更高。
  3. 至于为什么写为{:.2f},初学者可以先记着这样的写法,暂不去深究,关于print()函数的格式化,是重点的内容,后续需重点学习。

至此,这10行代码中包含的所有知识点几乎都已经谈到,后面5行涉及到的知识在前面5行均已提及,不再赘述。

代码虽短,但却蕴含了许多基本知识,值得初学者好好揣摩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值