实例1:温度转换
# TempConvert.py #为单行注释 多行注释为: ''' 这里写内容 '''
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f'] :C = (eval(TempStr[0:-1])-32)/1.8print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c'] :F = 1.8*eval(TempStr[0:-1])+32print("转换后的温度是{:.2f}F".format(F))
else :print("输入格式错误!")
第一节课,老师便是用一个温度转换的实例带我们了解了python的一些基础语法元素,下面是我对这个实例的一些学习:
第1行:input()函数从控制台获得用户输入,返回一个字符串,无论用户输入的是字符还是数字,统一按照字符串类型输出 然后由TempStr这个变量接受输入的字符串第2行:TempStr[-1]是一个字符串TempStr中的最后一个字符 字符串两种序号体系:(L为字符串长度) 正向递增序号:从0开始,向右依次递增到L-1 反向递减序号:从-1开始,向左一次递减到-L字符串切片:TempStr[N:M]表示字符串中从N到M(不包含M)的子字符串['F','f']是一个列表,用来表示一组数据,逗号用于分隔元素,每个元素的类型可以不同,个数也没有限制第3、6、9行采用了"if-elif-else"类型的分支语句,注意它们后面都有个冒号 表达式由 in 组成,用于判断TempStr中保存的字符串最后一个字符TempStr[-1]是否在一个由'F'或者'f'组成的列表集合中,返回true或false第4行:eval()函数用于去掉其参数字符串最外侧的一堆单引号或双引号之后,把剩下的部分当作表达式去执行 这里则是将用户的输入(TempStr[0:-1]这个子串)由字符串转换为数值第5、8行:格式化输出,其中{}是槽,每个槽位置用,format()中的一个参数填充,:.2f表示输出数值取两位小数值第10行:单参数直接输出字符串或单个变量的值补充:多参数直接输出,直接输出多个字符串或变量的值,参数之间用逗号分隔,输出后各打印值之间是由一个空格分隔的
程序运行:
实例2:Python蟒蛇绘制
这是一个有趣的Python实例,用于理解引用库的Python"生态式"编程方法
第一种库引用方式:import
#第一种库引用方式,import <库名> ,代码可读性好,这样程序就可以调用库名中的所有函数
import turtle
turtle.setup(650,350,200,200) #用来设置主窗体的大小和位置
turtle.penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
turtle.forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
turtle.pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
turtle.pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
turtle.pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
turtle.seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个turtle.circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Noneturtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.forward(40)
turtle.circle(16,180)
turtle.forward(40*2/3)
turtle.done() #表示程序完成后,需手工关闭窗体退出
第二种库引用方式:from <库名> import *
#第二种库引用方式,from <库名> import * ,库中的函数名可能会与用户自定义的函数名冲突
from turtle import * # *是通配符,表示库中所有函数,调用该库的函数时不再需要使用库名,也可以是from <库名> import <函数名,函数名,...,函数名>
setup(650,350,200,200) #用来设置主窗体的大小和位置
penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Nonecircle(-40,80)
circle(40,80/2)
forward(40)
circle(16,180)
forward(40*2/3)
done() #表示程序完成后,需手工关闭窗体退出
第三种库引用方式:import <库名> as <库别名>
#第三种库引用方式,import <库名> as <库别名>,避免了命名冲突,又使代码可读性好,结合了上面两种方式的优点
import turtle as t
t.setup(650,350,200,200) #用来设置主窗体的大小和位置
t.penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
t.forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
t.pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
t.pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
t.pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
t.seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个t.circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Nonet.circle(-40,80)
t.circle(40,80/2)
t.forward(40)
t.circle(16,180)
t.forward(40*2/3)
t.done() #表示程序完成后,需手工关闭窗体退出
上面三种方式的运行结果都是一样的。
程序运行:
以上就是我对本章的学习,希望能帮助到各位同志,若有错误之处欢迎评论区留言,谢谢!