【21天python打卡】第16天 python经典案例(2)

发布于:2023-01-14 ⋅ 阅读:(541) ⋅ 点赞:(0)

大家好,今天是21天python打卡第16天,今天我们继续分享python的经典案例。我们将了解到,什么是eval函数,什么是函数封装,以及while循环语句。我们在编程中学习,在编程中成长。


活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。


目录

基本的温度转换程序

eval()函数

代码实现

循环执行的温度转换程序

while循环嵌套

 while循环使用else语句

代码实现

函数封装的温度转换程序

 代码实现

Python蟒蛇绘制程序

第一种

结果展示

第二种

结果展示

 函数封装的Python蟒蛇绘制程序

代码实现


  • 基本的温度转换程序

我们通常使用摄氏度,华氏度我们一般不使用,我们要解决这个问题,我们只需要了解二者的转换关系,这里我们用到函数,那么这个函数有什么用呢。

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的经典案例。


网站公告

今日签到

点亮在社区的每一天
去签到