python基础第二章

第二章 Python程序实例解析

1.实例1:温度转化

1.1 普通温度转化

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("输入格式错误!")
​
请输入带有符号的温度值:82f
转换后的温度为:27.78C

知识点1:

1.采用缩进表示程序框架,缩进表示所属关系

2.注释,单行注释用#,多行注释首尾都用'''

3.命名第一个不能是数字,对大小写敏感,有33个保留字

4.字符串包括两种序号体系:正向递增序列,反向递减序列,tempStr[0,-1]表示变量中从第一个字符到最后一个字符,但不包括最后一个字符

-11-10-9-8-7-6-5-4-3-2-1
HelldWorld
012345678910

5.input()函数进行输入,无论是字符串还是数字,最后输出都会以字符串的形式输出

6.判断语句格式:

    if <条件1>:
​
       <语句1>
​
    elif <条件2>:
​
       <语句2>
​
    ...
​
   else:
​
       <语句N>

7.eval(<字符串>)函数:

将输入的字符串转换成python语句,并执行该语句,若字符串中是数学表达式则计算输出,若是eval("hello")则被理解为hello为之前定义过的变量,没有定义过则报错,若是eval("'hello'"),则'hello'解释为字符串,若是数字和字母混杂,则报错。

1.2 加入循环结构

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("请输入带有符号的温度值:")
​
================ RESTART: C:\Users\Administrator\Desktop\text.py ===============
请输入带有符号的温度值:82f
转换后的温度为:27.78C
请输入带有符号的温度值:28c
转换后的温度为:82.40F
请输入带有符号的温度值:n

知识点2:

1.循环结构语句

while (<条件>):
​
     <语句块1,条件为true执行>
​
<语句块2,条件为false执行>

1.3定义函数执行

def tempConvert(tempStr):
    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("请输入带有符号的温度值:")
while TempStr[-1] not in ['N','n']:
    tempConvert(TempStr)
    TempStr = input("请输入带有符号的温度值:")
​
print("结束!")
​
================ RESTART: C:\Users\Administrator\Desktop\text.py ===============
请输入带有符号的温度值:82f
转换后的温度为:27.78C
请输入带有符号的温度值:28c
转换后的温度为:82.40F
请输入带有符号的温度值:n
结束!

知识点3:

1.定义函数前要用保留字def

2.与函数平行的语句先执行

2.实例2:Python蟒蛇绘制

2.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)

知识点1:

通过使用函数库并利用库中函数进行编程的方法是Python语言最重要的特点,称为“模块编程”

2.2 利用通配符*,可以简化不再需要库名,优点是简洁

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)

知识点2:

当函数名冲突时,python解释器会以最近的函数定义为准。

3.turtle库语法元素分析

1.定义理解:

基本框架:一只小海龟在坐标系爬行,其爬行轨迹形成绘制图形。

对于小海龟而言,有“前进”,“后退”,“旋转”等爬行行为,对坐标系的探索也通过“前进方向”,“后退方向”,“左侧方向”,“右侧方 向”等小海龟自身角度方位来完成。刚开始绘制时,小海龟位于画布正中央,坐标为(0,0),行进方向为水平右方。

2.函数理解

(1)turtle.setup(width,height,startx,starty):

设置主窗体的大小和位于电脑屏幕的位置,startx表示距离电脑屏幕左边的长度,starty表示距离电脑屏幕上边的长度,width、height如果为整数则是像素值,如果为小数则是窗口高宽度与电脑屏幕的比例,startx、starty的值为数字则是像素距离,如果是None则是窗口位于电脑屏幕水平、垂直中央。

画笔控制函数

(2)turtle.penup():抬起画笔,不绘制形状,无参。

(3)turtle.pendown()**别名:turtle.pd()、turtle.down():落下画笔,绘制形状,无参。

(4)turtle.pensize(width)**别名:turtle.width():设置画笔尺寸,即宽度,width为None、空,则函数返回当前画笔宽度。

(5)turtle.pencolor("color") 或 turtle.pencolor((r,g,b)):设置画笔颜色,无参时返回当前画笔颜色。

形状绘制函数

(6)turtle.fd(distance) 别名:turtle.forward(distance):小海龟当前行进方向前进distance距离,distance为行进距离的像素值,当值为负数时,表示向反方向前进。

(7)turtle.seth(to_angle) 别名:turtle.setheading(to_angle):设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值

(8)turtle.circle(radius,extent=None):根据半径radius绘制extent角度的弧形,radius表示弧形半径,当值为正数,半径在小海龟左侧,当值为负数时,半径在小海龟右侧。extent为弧形角度,为None或空时,绘制整个圆形

4.函数的封装

from turtle import *
def drawSnake(radius,angle,length):
    seth(-40)
    for i in range(length):
        circle(radius,angle)
        circle(-radius,angle)
    circle(radius,angle/2)
    fd(40)
    circle(16,180)
    fd(40*2/3)
setup(650,350,200,200)
penup()
fd(-250)
pendown()
pensize(25)
pencolor("purple")
drawSnake(40,80,4)
done()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值