Python——实例1:温度转换(Python基本语法元素及框架,代码实现)

  • Post author:
  • Post category:python




前言

Python第一弹!!!

Python被称为最简单好上手的语言之一,基于其极强的关联性,对各种库的引用,和资源的关联,使其实现功能非常容易。一些底层逻辑不需过多过深的理解。

本篇将通过一个实例——温度转换,通过十行代码的实现,使大家对Python有最初的大体印象,并对一些基础语法和函数有初步的了解。

读完本篇,你将了解到:

(1)程序的格式框架(代码高亮、缩进、注释使用)

(2)命名与保留字(变量、命名及33个保留字)

(3)数据类型(整数、字符串、列表)

(4)语句与函数(赋值语句、分支语句、函数)

(5)Python程序的输入输出(输入函数input、输出函数print、评估函数eval)

(6)“温度转换”代码分析(逐行分析)



一、问题分析

引入:编写一个Python程序,实现摄氏度与华氏之间的转换

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

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

理解2:将温度信息发布的声音或图像形式进行理解和转换

理解3:监控温度信息发布渠道,实时获取并转换温度值

在此我们采用理解1作为入门例子



1.分析

温度数值需要标明温度体系,即摄氏度或华氏度

转换后也需要给出温度体系



2.划分边界

-输入带华氏或摄氏标志的温度值

-处理根据温度标志选择适当的温度转换算法

-输出带摄氏或华氏标志的温度值



3.输入输出格式设计

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

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



4.设计算法

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

C = ( F-32 )/ 1.8

F = C* 1.8+32

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



5.python语法元素理解

-温度转换程序共10行代码,但包含很多语法元素

-清楚理解这10行代码能够快速入门Python语言

-参考框架结构、逐行分析、逐词理解



6.举一反三

输入输出的改变

-温度数值与温度标识之间关系的设计可以改变

-标识改变放在温度数值之前:C82,F28

-标识字符改变为多个字符:82Ce、28F



7.计算问题的扩展

-温度转换问题是各类转换问题的代表性问题

-货币转换、长度转换、重量转换、面积转换…



二、代码实现

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



三、Python程序语法元素分析



1.程序的格式框架

直观的看这段代码,有不同的颜色

在这里插入图片描述

(1)代码高亮:Python编程环境根据代码不同含义给予不同色彩标注的色彩辅助体系,不是语法要求。在不同编程环境中,高亮各有不同

(2)缩进表达程序的格式框架

①严格明确:缩进是语法的一部分,缩进不正确程序运行错误

②所属关系:表达代码间包含和层次关系的唯一手段

③长度一致:程序内一致即可,一般用4个空格或1个TAB

(3)注释

不被程序执行的辅助性说明信息

①单行注释以#开头,其后内容为注释(本代码第一行即为注释)

如:#这里是单行注释

②多行注释以’‘‘开头和结尾

‘’‘这是多行注释第一行

这是多行注释第二行’’’



2.命名与保留字

(1)变量

用来保存和表示数据的占位符号

①变量采用标识符(名字)来表示,关联标识符的过程叫命名。TempStr是变量名字

②可以使用等号(=)向变量赋值或修改值,=被称为赋值符号。TempStr= “82F”,向变量TempStr赋值”82F”

(2)命名

关联标识符的过程

①命名规则:大小写字母、数字、下划线和汉字等字符及组合如: TempStr,Python_Great

②注意事项:大小写敏感、首字符不能是数字、不与保留字相同。Python和python是不同变量,123Python是不合法的

(3)保留字

被编程语言内部定义并保留使用的标识符

①Python语言有33个保留字(也叫关键字)

如:if, elif, else, in

②保留字是编程语言的基本单词,大小写敏感

if是保留字,If 是变量

③33个保留字

在这里插入图片描述

如:and:表达“与”的关系

注意:1)标黑色的26个保留字,是在Python基础语法体系中出现的,

2)最后三个保留字首字母大写:True,False,None



3.数据类型

在这里插入图片描述

(1)举例10,011,101

①整数类型:10011101

②字符串类型:“10,011,101”

③列表类型:[10,011,101](表示三个数字)

(2)字符串

①由0个或多个字符组成的有序字符序列,由一对单引号或一对双引号表示

如:”请输入带有符号的温度值: “或者’C’

②字符串是字符的有序序列,可以对其中的字符进行索引

如:”请”是”请输入带有符号的温度值:”的第0个字符

③字符串的序号:正向递增序号和反向递减序号

在这里插入图片描述

④字符串的使用:使用[ ]获取字符串中一个或多个字符

1)索引∶返回字符串中单个字符<字符串>[M](M:在序号体系中的序号位置)

如:”请输入带有符号的温度值: “[0](获得第0个字符)或者TempStr[-1](获取倒数第一个字符)

2)切片:返回字符串中一段字符子串<字符串>[M:N]

如:“请输入带有符号的温度值:”[1:3](取出其中第1、2个字符,但不到第三个,表达的是字符串输入)

或者TempStr[0:-1](从第0开始,不到最后一个。相当于去掉最后一个)

(3)数字类型

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

①:整数:数学中的整数

32或者-89

②浮点数:数学中的实数,带有小数部分

(4)列表类型

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

①列表使用[ ]表示,采用逗号(,)分隔各元素.[ ‘F’ , ‘f’]表示两个元素’F’和’f’

②使用保留字in判断一个元素是否在列表中

如:TempStr[-1] in [ ‘c ’ , ’ c’]判断前者是否与列表中某个元素相同

(字符串最后一个字符是否是大小写的c,是则产生真值True,反之)



4.语句与函数

(1)赋值语句

由赋值符号构成的一行代码,用来给变量赋予新的数据值

C=(eval(TempStn[0:-1])-32)/1.8 (右侧运算结果赋给变量c-赋值语句右侧的数据类型同时作用于变量)

TempStr=input(” ” ) (input()返回一个字符串,TempStr也是字符串)

(2)分支语句

由判断条件决定程序运行方向的语句,使用保留字if elif else构成条件判断的分支结构

if TempStr[-1] in[ ‘F’, ‘f’]:(如果条件为True则执行冒号后语句)

注意:每个保留字所在行最后存在一个冒号(😃,是语法的一部分

冒号及后续缩进用来表示后续语句与条件的所属关系

(3)函数

根据输入参数产生不同输出的功能过程

①类似数学中的函数,y = f(x)

如:print(“输入格式错误”)(打印输出“输入格式错误”)

②函数采用<函数名>(<参数>)方式使用

eval(TempStr[0:-1])(TempStr[0:-1]是参数)



5.Python程序的输入输出

(1)输入函数input()

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

①input()函数的使用格式:<变量> = input(<提示信息字符串>)

注意:用户输入的信息以字符串类型保存在<变量>中

TempStr = input(“请输入”) (TempStr保存用户输入的信息)

(2)输出函数print()

以字符形式向控制台输出结果的函数

①print()函数的基本使用格式︰print(<拟输出字符串或字符串变量>)

注意:字符串类型的一对引号仅在程序内部使用,输出无引号

print(“输入格式错误”)(向控制台输出输入格式错误)

②print()函数的格式化:(格式化将在后面的学习中重点讲解)

如:print(“转换后的温度是{ :.2f}C”.format©)

({}表示槽,后续变量填充到槽中,{ :.2f }表示将变量C填充到这个位置时取小数点后2位)

(3)评估函数eval()

去掉参数最外侧引号并执行余下语句的函数

eval()函数的基本使用格式∶eval(<字符串或字符串变量>)

>>> eval(“1”),输出1

>>> eval(’“1+2″‘),输出”1+2″

>> > eval( “1+2”),输出3

>>> eval(’ print(“Hello”)’),输出Hello



6.综合代码分析

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

(1)第一行:注释

(2)第二行:input函数从控制台获得一个信息,用户输入值保存在变量TempStr(字符串类型变量)中

(3)第三行:if 分支语句,in判断输入的最后一个字符是不是F/f

(4)第4/5行:华氏温度转换,第四行对TempStr除去最后一位之外的其他位进行评估运算,第五行print格式化

(5)第六行:第三行不为真,转至此行,in判断输入的最后一个字符是不是C/c

(6)第7/8行:摄氏温度转换

(7)第九行:elif不成立,执行第十行



总结

本篇主要通过一个实例的讲解来介绍Python的基本语法,输入输出等概念,达到快速入门Python的目的。

此例学会后,你已经可以阅读十行的Python代码了。

基于此,,可以自行尝试实现货币转换、长度转换、重量转换、面积转换等问题。

ps:代码非原创

如有错误,欢迎指正!

下一篇将介绍Python基本图形绘制。



版权声明:本文为qq_51308373原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。