大家好,今天是21天python打卡第16天,今天我们继续分享python的经典案例。我们将了解到,什么是eval函数,什么是函数封装,以及while循环语句。我们在编程中学习,在编程中成长。
活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
目录
-
基本的温度转换程序
我们通常使用摄氏度,华氏度我们一般不使用,我们要解决这个问题,我们只需要了解二者的转换关系,这里我们用到函数,那么这个函数有什么用呢。
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编程语言的灵活性。
函数封装的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的经典案例。