基本的温度转换程序
我们通常使用摄氏度,华氏度我们一般不使用,我们要解决这个问题,我们只需要了解二者的转换关系,这里我们用到函数,那么这个函数有什么用呢。
eval()函数
python中eval函数作用是计算字符串中有效的表达式,并返回结果。将字符串转成相应的对象(如list、tuple、dict和string之间的转换)。利用反引号转换的字符串再反转回对象。
eval()函数用来执行一个字符串表达式,并返回表达式的值。eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。eval函数可以实现list、dict、tuple与str之间的转化。
代码实现
#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("输入格式错误")
循环执行的温度转换程序
这个程序和上一个相比,就是加了一个循环语句,这里简单介绍一下循环语句。
while循环嵌套
if中可以在嵌套if,那么while中也可以嵌套while循环,从而实行一些特殊的效果。
语句: while 条件1: 满足条件1执行代码块1 while 条件2: 满足条件1又满足条件2执行代码块2
while循环使用else语句
while-else在条件语句为False时执行else语句块
语法: while 条件: 满足条件执行代码块 else: 不满足条件执行代码块
代码实现
#TempConvert.py TempStr = input("请输入带有符号的温度值: ") while TempStr[-1] not in ['N','n']: 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("输入格式错误") TempStr = input("请输入带有符号的温度值: ")
- 函数封装的温度转换程序
这里我们接触到了一个新名词,函数封装,那么什么是函数封装呢?
函数封装是一种函数的功能,它把一个程序员写的一个或者多个功能通过函数、类的方式封装起来,对外只提供一个简单的函数接口。当程序员在写程序的过程中需要执行同样的操作时,程序员(调用者)不需要写同样的函数来调用,直接可以从函数库里面调用。程序员也可以从网络上下载的功能函数,然后封装到编译器的库函数中,当需要执行这一功能的函数时,直接调用即可。而程序员不必知道函数内部如何实现的,只需要知道这个函数或者类提供什么功能。
代码实现
#TempConvert.py def tempConvert(ValueStr): if ValueStr[-1] in ['F','f']: C = (eval(ValueStr[0:-1]) - 32)/1.8 print("转换后的温度是{:.2f}C".format(C)) elif ValueStr[-1] in ['C','c']: F = 1.8*eval(ValueStr[0:-1]) + 32 print("转换后的温度是{:.2f}F".format(F)) else: print("输入格式错误") TempStr = input("请输入带有符号的温度值: ") tempConvert(TempStr)
Python蟒蛇绘制程序
这里我们用两种方法编写蟒蛇程序,通过不同的方法,我们更好的掌握对python语言的应用。
第一种
import turtle turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40, 80) turtle.circle(-40, 80) turtle.circle(40, 80/2) turtle.fd(40) turtle.circle(16, 180) turtle.fd(40 * 2/3)
结果展示
第二种
from turtle import * setup(650, 350, 200, 200) penup() fd(-250) pendown() pensize(25) pencolor("purple") seth(-40) for i in range(4): circle(40, 80) circle(-40, 80) circle(40, 80/2) fd(40) circle(16, 180) fd(40 * 2/3)
结果展示
在这里,我们可以清晰的看到两个运行结果一模一样,可见python编程语言的灵活性。
上面我们用了两种不同的方法编写了蟒蛇程序,接下来,我们用函数封装,绘制蟒蛇程序。
代码实现
import turtle def drawSnake(radius, angle, length): turtle.seth(-40) for i in range(length): turtle.circle(radius, angle) turtle.circle(-radius, angle) turtle.circle(radius, angle/2) turtle.fd(40) turtle.circle(16, 180) turtle.fd(40* 2/3) turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") drawSnake(40, 80, 4) turtle.done()
今天就分享到这里,下一篇,我们继续分享关于python的经典案例。