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


    大家好,今天是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之间的转化。

    代码实现

    1. #TempConvert.py
    2. TempStr = input("请输入带有符号的温度值: ")
    3. if TempStr[-1] in ['F','f']:
    4. C = (eval(TempStr[0:-1]) - 32)/1.8
    5. print("转换后的温度是{:.2f}C".format(C))
    6. elif TempStr[-1] in ['C','c']:
    7. F = 1.8*eval(TempStr[0:-1]) + 32
    8. print("转换后的温度是{:.2f}F".format(F))
    9. else:
    10. print("输入格式错误")
    • 循环执行的温度转换程序

    这个程序和上一个相比,就是加了一个循环语句,这里简单介绍一下循环语句。

    while循环嵌套

    if中可以在嵌套if,那么while中也可以嵌套while循环,从而实行一些特殊的效果。

    1. 语句:
    2. while 条件1:
    3. 满足条件1执行代码块1
    4. while 条件2:
    5. 满足条件1又满足条件2执行代码块2

     while循环使用else语句

    while-else在条件语句为False时执行else语句块

    1. 语法:
    2. while 条件:
    3. 满足条件执行代码块
    4. else:
    5. 不满足条件执行代码块

    代码实现

    1. #TempConvert.py
    2. TempStr = input("请输入带有符号的温度值: ")
    3. while TempStr[-1] not in ['N','n']:
    4. if TempStr[-1] in ['F','f']:
    5. C = (eval(TempStr[0:-1]) - 32)/1.8
    6. print("转换后的温度是{:.2f}C".format(C))
    7. elif TempStr[-1] in ['C','c']:
    8. F = 1.8*eval(TempStr[0:-1]) + 32
    9. print("转换后的温度是{:.2f}F".format(F))
    10. else:
    11. print("输入格式错误")
    12. TempStr = input("请输入带有符号的温度值: ")
    • 函数封装的温度转换程序

    这里我们接触到了一个新名词,函数封装,那么什么是函数封装呢?
    

    函数封装是一种函数的功能,它把一个程序员写的一个或者多个功能通过函数、类的方式封装起来,对外只提供一个简单的函数接口。当程序员在写程序的过程中需要执行同样的操作时,程序员(调用者)不需要写同样的函数来调用,直接可以从函数库里面调用。程序员也可以从网络上下载的功能函数,然后封装到编译器库函数中,当需要执行这一功能的函数时,直接调用即可。而程序员不必知道函数内部如何实现的,只需要知道这个函数或者类提供什么功能。

     代码实现

    1. #TempConvert.py
    2. def tempConvert(ValueStr):
    3. if ValueStr[-1] in ['F','f']:
    4. C = (eval(ValueStr[0:-1]) - 32)/1.8
    5. print("转换后的温度是{:.2f}C".format(C))
    6. elif ValueStr[-1] in ['C','c']:
    7. F = 1.8*eval(ValueStr[0:-1]) + 32
    8. print("转换后的温度是{:.2f}F".format(F))
    9. else:
    10. print("输入格式错误")
    11. TempStr = input("请输入带有符号的温度值: ")
    12. tempConvert(TempStr)
    • Python蟒蛇绘制程序

    这里我们用两种方法编写蟒蛇程序,通过不同的方法,我们更好的掌握对python语言的应用。

    第一种

    1. import turtle
    2. turtle.setup(650, 350, 200, 200)
    3. turtle.penup()
    4. turtle.fd(-250)
    5. turtle.pendown()
    6. turtle.pensize(25)
    7. turtle.pencolor("purple")
    8. turtle.seth(-40)
    9. for i in range(4):
    10. turtle.circle(40, 80)
    11. turtle.circle(-40, 80)
    12. turtle.circle(40, 80/2)
    13. turtle.fd(40)
    14. turtle.circle(16, 180)
    15. turtle.fd(40 * 2/3)

    结果展示

    第二种

    1. from turtle import *
    2. setup(650, 350, 200, 200)
    3. penup()
    4. fd(-250)
    5. pendown()
    6. pensize(25)
    7. pencolor("purple")
    8. seth(-40)
    9. for i in range(4):
    10. circle(40, 80)
    11. circle(-40, 80)
    12. circle(40, 80/2)
    13. fd(40)
    14. circle(16, 180)
    15. fd(40 * 2/3)

    结果展示

     在这里,我们可以清晰的看到两个运行结果一模一样,可见python编程语言的灵活性。

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

    上面我们用了两种不同的方法编写了蟒蛇程序,接下来,我们用函数封装,绘制蟒蛇程序。
    

    代码实现

    1. import turtle
    2. def drawSnake(radius, angle, length):
    3. turtle.seth(-40)
    4. for i in range(length):
    5. turtle.circle(radius, angle)
    6. turtle.circle(-radius, angle)
    7. turtle.circle(radius, angle/2)
    8. turtle.fd(40)
    9. turtle.circle(16, 180)
    10. turtle.fd(40* 2/3)
    11. turtle.setup(650, 350, 200, 200)
    12. turtle.penup()
    13. turtle.fd(-250)
    14. turtle.pendown()
    15. turtle.pensize(25)
    16. turtle.pencolor("purple")
    17. drawSnake(40, 80, 4)
    18. turtle.done()

    今天就分享到这里,下一篇,我们继续分享关于python的经典案例。

  • 相关阅读:
    webpack5 splitChunks 配置和用法
    一文搞懂JavaScript数组的特性
    maven
    【力扣1876】长度为三且各字符不同的子字符串
    es5下载安装x-pack修改密码
    模型训练时loss震荡严重的几个解决方案
    C#项目版本号自定义位置自动向上增加小工具设计与实现
    Easex图形绘制函数
    Guava工具
    区间dp--石子合并
  • 原文地址:https://blog.csdn.net/BROKEN__Y/article/details/126380125