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

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

基本的温度转换程序

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


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)

结果展示

97.png


第二种

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)

结果展示

98.png


在这里,我们可以清晰的看到两个运行结果一模一样,可见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的经典案例。

相关文章
|
15天前
|
Python
python集合的创建案例分享
【4月更文挑战第11天】在Python中,通过大括号或`set()`函数可创建集合。示例包括:使用大括号 `{}` 创建带元素的集合,如 `{1, 2, 3, 4, 5}`;使用 `set()` 函数从列表转换为集合,例如 `set([1, 2, 3, 4, 5])`,以及创建空集合 `set()`。当元素有重复时,集合会自动去重,如 `set([1, 2, 2, 3, 4, 4, 5])`。但尝试将不可哈希元素(如列表、字典)放入集合会引发 `TypeError`。
17 1
|
19天前
|
Python
Python文件操作学习应用案例详解
【4月更文挑战第7天】Python文件操作包括打开、读取、写入和关闭文件。使用`open()`函数以指定模式(如'r'、'w'、'a'或'r+')打开文件,然后用`read()`读取全部内容,`readline()`逐行读取,`write()`写入字符串。最后,别忘了用`close()`关闭文件,确保资源释放。
18 1
|
2月前
|
数据采集 JSON JavaScript
Python爬虫案例:抓取猫眼电影排行榜
python爬取猫眼电影排行榜数据分析,实战。(正则表达式,xpath,beautifulsoup)【2月更文挑战第11天】
70 2
Python爬虫案例:抓取猫眼电影排行榜
|
1月前
|
JSON JavaScript 前端开发
Python中使用JsonPath:概念、使用方法与案例
Python中使用JsonPath:概念、使用方法与案例
44 0
|
3天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
8 0
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
总结几个GPT的超实用之处【附带Python案例】
总结几个GPT的超实用之处【附带Python案例】
|
11天前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
15 0
|
19天前
|
Python
Python数据类型学习应用案例详解
Python基础数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)和集合(set)。整数和浮点数支持算术运算,字符串是不可变的文本,布尔值用于逻辑判断。列表是可变有序集合,元组不可变。字典是键值对的无序集合,可变,而集合是唯一元素的无序集合,同样可变。示例代码展示了这些类型的基本操作。
11 1
|
19天前
|
Python
Python控制结构学习应用案例详解
Python控制结构包含条件语句、循环语句和异常处理。条件语句用if-elif-else判断数字正负;for循环示例输出1到10的整数,while循环计算1到10的和;异常处理用try-except-finally处理除零错误,打印提示信息并结束。
10 3
|
19天前
|
Python
Python函数学习应用案例详解
【4月更文挑战第7天】学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
14 1