温度转换
IPO描述
输入:带华氏或摄氏标志的温度值
处理:根据温度标志选择适当的温度转换算法
输出:带摄氏或华氏标志的温度值
C=(F-32)/1.8
F=C*1.8+32
算法
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=(eval(TempStr[0:-1])*1.8)+32
print("转化后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
Python程序语法元素分析
Python程序包括格式框架、注释、变量、表达式、分支语句、循环语句、函数等语法元素。
- 程序的格式框架
Python语言采取严格的"缩进"来表明程序的格式框架。
缩进表示了所属关系。 - 注释
Python语言有两中注释方式:单行注释和多行注释。单行注释以#开头,多行注释以```(3个单引号)开头和结尾。 - 命名和保留关键字
Python语言允许采用大写字母、小写字母、数字、下划线和汉字等字符及其组合给变量命名,但命名的首字符不能是数字,中间不能出现空格,长度没有限制。
注:标识符对大小写敏感。 -
字符串
字符串是字符的序列,可以按照单个字符或字符片段进行索引。字符串包括两种序号体系:正向递增序号和反向递减序号。
- input函数
input函数时从控制台获取用户的输入,无论用户输入的是什么内容,input()函数都以字符串的类型返回结果。 - eval()函数
eval(<字符串>)的作用是将输入的字符串转变为Python语句,并执行该语句。
函数
函数可以理解为对一组表达特定功能表达式的封装。
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)
由def定义的函数在程序中不被直接执行,需要使用函数名程调用才能执行。
实例: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)
注意:
-import <库名>
此时,函数可以调用库名中所有的函数,使用库中函数的格式如下
<库名>.<函数名>(<函数参数>)
优点:能够显示标明函数的来源,在引入较多库时代码可读性更好。
- 'from <库名> import *'
调用该库的函数时不再需要使用库名,可直接使用如下格式:
<函数名>(<函数参数>)
优点:利用保留字直接引用库中函数,可以使代码更加的简洁。
turtle库语法元素分析
- 绘图坐标体系
turtle.setup(width,height,startx,straty)
作用:设置主窗体的大小和位置。
- width
窗口宽度,如果值是整数,表示像素值,如果值是小数,表示窗口宽度与屏幕的比列。 - height
窗口高低,如果值是整数,表示像素值,如果值是小数,表示窗口高度与屏幕的比列。 - startx
窗口左侧与屏幕左侧的像素距离,如果值是None,窗口位于屏幕水平中央。 -
starty
窗口顶部与屏幕顶部的像素距离,如果值是None,窗口位于屏幕垂直中央。
- 画笔控制函数
-
turtle.penup()
和turtle.pendown()
函数
分别表示抬起画笔和落下画笔
turtle.penup()
作用:抬起画笔,之后移动画笔不绘制形状。
turtle.pendown()
作用:落下画笔,之后移动画笔将绘制图形。
-turtle.pensize(width)
作用:设置画笔宽度,当无参数输入时返回当前画笔的宽度。 -
turtle.pencolor(colorstring)
或turtle.pencolor(r,g,b)
作用:设置画笔的颜色,当无参数输入时返回当前画笔的颜色。
- 形状绘制函数
-turtle.fd(distance)
作用:向小海龟当前的方向前进distance距离。
-turtle.seth(to_angle)
作用:用来改变小海龟的前进的方向为to_angle,该角度为绝对方向角度值。
-
turtle.circle(radius,axtent=None)
作用:根据半径radius绘制extent角度的弧形。
extent为绘制弧形的角度,当无参数的时候或设置为None时,绘制整个院校。
小程序
1、使用turtle库的turtle.fd()函数绘制一条直线。
import turtle
turtle.setup(600,300,200,200)
turtle.fd(100)
2、绘制一个完整的圆
import turtle
turtle.setup(600,300,200,200)
turtle.circle(40)