Python自学04-温度转换及Python蟒蛇绘制实例

温度转换

1.设计算法

根据华氏温度和摄氏温度的定义,两个温度体系都以1标准大气压下水的结冰点和沸点为温度区间边界,因此,转换算法如下:
C = (F - 32)/1.8
F = C*1.8 + 32
其中,C为摄氏温度,F表示华氏温度。

算法(Algorithm)是数学和计算机领域的概念,指完成特定计算的一组有序操作。广义上,任何完成计算功能的一组操作都可以称为算法,这组操作可以对应单一的计算问题,也可以对应多个计算问题的组合;狭义上,算法通常针对单一计算问题,例如,针对优化求解问题的贪婪算法、遍历树结构的深度优先算法等。

2.源代码

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("输入格式错误")

运行结果如下:
在这里插入图片描述

Python蟒蛇绘制

1.源代码

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)

2.程序输出效果

在这里插入图片描述

3.面向对象编程

面向对象编程(Objected-Oriented Programming,OOP)是一种基于对象(Objected)的编程范式。对象是事物的一种抽象,他是一个实体,包含属性和方法两部分,属性是对象中的变量,方法是对象能够完成的操作。
假设对象是O,则O.a表示对象O的属性a,O.b()表示对象O的操作b(),其中a是一个变量值,b是一个函数,例如,一辆汽车可以作为一个对象,标记为C,汽车的颜色是汽车的属性,表示为C.color,前进是汽车的一个动作,相当于一个功能,因此前进是对象C的方法表示为O.forward()。

4.程序分析

第一,这个程序没有使用显式的用户输入输出,即没有input()函数和print()函数;第二,这个程序绝大多数代码行都是<a>.<b>()形式,代码中没有赋值语句。这种通过使用函数库并利用库中函数进行编程的方法是Python语言最重要的特点,称为“模块编程”。

5.import函数库

使用import引用函数库有两种方式,但对函数的使用方式略有不同。

第一种引用函数库

import <库名>

此时,程序可以调用库名中的所有函数,使用库中函数的格式如下:

<库名>.<函数名>(<函数参考>)

第二种引用数据库

from <库名> import <函数名,函数名,...,函数名>
from <库名> import *   #其中,*是通配符,表示所有函数

此时,调用该库函数时不再需要使用库名,直接使用如下格式:

<函数名>(<函数参数>)

采用第二种库引用方式修改实例代码完成蟒蛇绘制,代码如下:

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)

代码运行结果相同,不同的是调用turtle库中函数时不再采用<a>.<b>() 方式,而直接使用函数名。由于“Python蟒蛇绘制”程序只用了turtle库中的setup()、penup()、fd()、pendown()、pensize()、pencolor()、seth()、circle()等8个函数,第二行的import语句也可以写成如下形式:

from turtle import setup, penup, fd, pendown
from turtle import pensize, pencolor, seth, circle

两种函数库引用方式各有优点。第一种采用<a>.<b>()方式调用库中函数,能够显示标明函数来源,在引用较多库时代码可读性更好。第二种利用保留字直接引用库中函数,可以使代码更简洁,在只引用一个库的情况下,效果更好。
需要注意的是,第一种引用方式,Python解释器将<a>.<b>()整体做为函数名。当采用第二种方式时,Python解释器将<b>作为函数名。这可能产生一种情况,假设用户已经定义了一个函数<b>,库中的函数名<b>将会与用户自定义的函数名冲突。由于Python程序要求函数命名唯一,所以,当函数名冲突时Python解释器会以最近的函数定义为准。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值