python基本语法

  • 实例1温度转换

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

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

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

  • 华氏摄氏温度定义,转换公式:

    • 摄氏度 以1标准大气压下睡的结冰点为0度,沸点为100度

    • 华氏度 以1标准大气压下的水的结冰点为32度,沸点为212度,将温度进行等分刻画

    • C = (F - 32)/1.8

    • F = C*1.8 +32

#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("输入格式错误")

实列:温度转换包含的语法:

缩进

缩进表达程序的格式框架

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

所属关系: 表达大门键保护和层次关系的唯一手段

长度一致 一般4个空格或一个TAB

注释

不被程序执行的说明

单行注释 以#开头,其后为注释

#TempConvert.py   单行注释

多行注释 以‘ “ 开头和结尾

'" 这里是多行注释的第一行
这里是多行注释的第二行 "'

变量命名与保留字

TempStr 、C、F 为变量

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

注意事项:首字符不能是数字、不能与保留字相同

保留字(关键字)

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

image-20211028142532207

数据的表现形式

供计算机理解数据的形式

  • 整数类型 10011101

  • 字符串类型 “10,011,101” 单引号和双引号相同

  • 列表类型 [10,011,101] 表达的是三个数字

“请输入”的“请”是第0个字符

image-20211028142555697

字符串的使用

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

  • 索引:返回字符串中单个字符 <字符串>[M]

     “请输入带有符号的温度值:”[0] 或者 TemStr[-1]
    
  • 切片:返回字符串中一段字符子串 <字符串>[M:N]

TempStr = "请输入带有符号的温度值:"
TempStr[-1]
':'
"请输入带有符号的温度值:"[0]
'请'
"请输入带有符号的温度值:"[0:4] #不到第四个字符“ 0 1 2 3
'请输入带'
  • 列表类型 [10,011,101]

数据类型

整数、浮点数、列表类型

[‘F’,’f’] 表示两个元素’F‘和’f‘

if TempStr[-1] in ['F','f']:    #in 判断一个元素是否在列表中
#TempConvert.py   
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:

分析:
>>> TempStr = input("请输入带有符号的温度值:")
请输入带有符号的温度值:20F
>>> TempStr[-1]
'F'
>>> TempStr[-2]
'0'
>>> TempStr[-3]
'2'

语句与函数

  • 赋值语句(右边的数据类型影响左边,相当于用数据来定义变量)

  • 分支语句 如条件判断语句

语法结构:

if 条件判断内容 : #如果条件为True则执行冒号后的语句
执行语句 #如果条件为false则跳过冒号后的语句

示例:
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))

  • 冒号及后续缩进用来表示后续语句与条件的所属关系,千万不能少

  • 函数

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

>>> print("输入格式错误")  
>>> "输入格式错误"
	函数采用  <函数名>(<参数>)  方式使用
eval(TempStr[0:-1])  #TempStr[0:-1]是参数

回顾

#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("输入格式错误")

输入输出

  • input()函数的使用格式:

<变量> = input(<提示信息字符串>)

TempStr = input("请输入带有符号的温度值:")   
#TempStr保存用户输入的信息,以 字符串 的形式保存到变量中
  • print函数的格式化使用方法
print("转换后的温度是{:.2f}C".format(C))  #暂且记忆

{} 表示槽,后续遍历填充到槽中
{:.2f}表示将变量C填充到这个位置时取小数点后2
  • eval() 去掉参数最外侧引号并执行余下语句的函数
>>> eval("1")
1
>>> eval("1 + 2") #去掉双引号,变成python了可理解的语句,固结果为3
3
>>> eval('"1 + 2"') #去掉双引号,输出一个单引号的字符串
'1 + 2'
>>> eval('print("Hello")')
Hello

>>> TempStr = input("请输入带有符号的温度值:")
请输入带有符号的温度值:200
>>> eval(TempStr[0:4])
200
>>> print(TempStr[0:4])
200
>>> eval("12.3")
12.3

温度转换代码分析

#TempConvert.py                         #注释,此行不运行
TempStr = input("请输入带有符号的温度值:") #用户输入的字符串将保存在TempStr中,input内为提示信息
if TempStr[-1] in ['F','f']: #判断TempStr的最后一个字符是否为列表类型F和f中的一个,为true则执行4、5行语句
C = (eval(TempStr[0:-1]) - 32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']: #判断TempStr的最后以一个字符是否为C和c中的一个,为true则执行7、8行语句
F = 1.8 *eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else: #默认执行:后的语句
print("输入格式错误")

===============================================================================

#如果输入82F,则为什么eval(TempStr[0:-1])的结果是不包含F,为82?

因为TempStr[0:-1]表示从0号元素开始,且不到-1号元素的字符串,这里-1号元素就是F

=================================================================================

>>> TempStr[0:-1]
'300'
>>> eval(TempStr[0:-1])
300


template = "零一二三四五六七八九"

s = input()
for c in s:
print(template[eval(c)], end="")

练习

#获得用户输入的一个正整数输入,输出该数字对应的中文字符表示。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

#0到9对应的中文字符分别是:零一二三四五六七八九‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

输入示例1‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

123

输出示例1‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

一二三
输入示例2‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

9876543210

输出示例2‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬

九八七六五四三二一零

#代码:
template = "零一二三四五六七八九"

s = input()
for c in s:
print(template[eval(c)], end="")