Python语⾔程序设计基础——2Python程序⽰例解析Python语⾔程序设计基础
第⼆章 Python程序⽰例解析
部分截图来⾃北京理⼯⼤学嵩天的python基础设计课程的ppt,仅做个⼈笔记使⽤,特此声明。
⽬录
编程解决问题的步骤
1. 分析问题:分析问题的计算部分,想清楚石塑地板有甲醛吗
2. 划分边界:划分问题的功能边界,规划IPO
3. 设计算法:设计问题的求解算法,关注算法
4. 编写程序:编写问题的计算程序,编程序
5. 调试测试:调试程序使正确运⾏,运⾏调试
6. 升级维护:适应问题的升级维护,更新完善
代码⽰例1——温度转换
温度转换
需求
两种温度体系的转换
摄⽒度转为华⽒度
华⽒度转为摄⽒度
allocation number问题分析
1. 划分边界
输⼊:带华⽒或摄⽒标志的温度值
输出:根据温度标志选择适当的温度转换算法
2. 输⼊输出格式设置
标识放在温度后⾯,F标识华⽒度,C表⽰摄⽒度
3. 设计算法
\(C=(F-32)/1.8\)
\(F=C*1.8+32\)
代码
#实例代码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))
举⼀反三
1. 温度数值与温度标识之间关系的设计可以改变python基础代码练习
标识放在温度数值之前
TempStr = input("请输⼊带有符号的温度值")
if TempStr[0] in ['F','f']:
C=(eval(TempStr[1:])-32)/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[0] in ['C','c']:
F = 1.8*eval(TempStr[1:])+32
print("转换后的温度是{:.2f}F".format(F))
2. 货币转换、长度转换、重量转换、⾯积转换......
强缩进
python 与C++,java在代码块的划分是不⼀样的,C++,java使⽤{}来区分代码块。⽽python使⽤缩进来区分代码块,增强了代码的可读性
注释
单⾏注释:单⾏注释以#开头
多⾏注释:多⾏注释以‘’’(3个单引号)开头和结尾
命名与保留字
变量命名:
python语⾔允许采⽤⼤写字母,⼩写字母、数字、下划线_ 和汉字等字符及其组合对变量进⾏命名。
但名字的⾸字母不能是数字,中间不能出现空格。
标识符对⼤⼩写敏感
变量名不能与python的保留字相同
保留字
def import from as
False True None
if elif else async
for while break continue
try except finally return
and not or is
assert with raise in
del global nonlocal yiled
pass class lambda await
字符串
创建,python中使⽤引号‘’创建字符串,不⽀持单字符类型,单字符在python中也是作为⼀个字符串来使⽤
访问字符,python使⽤⽅括号[]来访问字符串
正向递增序号,最左侧字符为0,向右递增,最右侧字符序号为L-1
反向递减序号,最右侧字符序号为-1,想做依次递减,最左侧字符序号为-L
区间访问(切⽚),采⽤[N:M]格式,表⽰字符串从N到M(不包含M)的⼦字符串,其中,N和M为字符串的索引序号,可以混合使⽤正序和逆序序号字符串连接 +
判断字符串是否包含给定字符 in not in
格式化输出类似于C语⾔中的sprintf函数 %f 格式化浮点数字,可指定⼩数后的精度
列表 [ ]
列表是最常⽤的Python数据类型,它可以作为⼀个⽅括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型。创建⼀个列表,只要把逗号分隔的不同的数据项使⽤⽅括号括起来即可。
分⽀
使⽤保留字 if elif else
每个保留字所在⾏最后存在⼀个冒号( ,语法的⼀部分。冒号及后续缩进⽤来表⽰后续语句与条件的所属关系
输⼊输出 input print
input():从控制台获得⽤户输⼊的函数php实训总结
print():以字符形式向控制台输出结果的函数
eval()
eval(<;字符串>) 能够以Python表达式的⽅式解析并执⾏字符串,并将结果输出。eval()函数将去掉字符串的两个引号,将其解释为⼀个变量。
作⽤:
1. 处理数字
单引号、双引号,eval()函数都能将其解释为int类型;三引号解析为str类型。
2. 处理字符串类型的字符串
对于eval()括号中的字符串(⾮数字),如果字符串带的是双引号或单引号都会引起NameError,这是因为eval()函数在处理字符串时会去掉两个引号。正确应该使⽤⼀个单引号包含⼀个双引号组成的三引号来包含字符串。
input 和 eval 结合使⽤
1. 获得⽤户输⼊的数字
value = eval ( input ( "请输⼊数字:") )
2. 获得⽤户输⼊的字符串
Str = eval ( ' input ("请输⼊字符串") ')
思考与练习
2.6 回声程序
问题描述:
请⽤⼀⾏代码·编写⼀个回声程序,将⽤户输⼊的内容直接打印出来
问题分析:
获取⽤户输⼊:input函数;输出:print函数
代码:
print(input())
2.7 试想⼀下,为什么Python的命名不能以数字开头python拟合函数
这是为了区分变量和常量。在变量命名可以以数字开头的情况下,⽆法区分以下内容是定义的变量还是常量:01,2E10。这会在编译的时候造成⼆义性。所以规定在命名变量的时候不能以数字开头。
其实,编译器或者解释器都会有⼀个词法分析器。词法分析器在判断⼀个单词是否以数字开头,如果是以数字开头则把他当作数字常量处理,否则当作普通单词处理。这样⼦可以提⾼词法分析器的效率
代码⽰例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)
import
import引⽤函数库
1. import < 库名 >
此时,程序可以调⽤库名中的所有函数,使⽤库中函数的格式如下:<;库名>.<;函数名>(<;函数参数>)
2. from <;库名> import <;函数名,函数名,...,函数名>
from <;库名> import * *是通配符,表⽰所有函数
此时,调⽤该库的函数时不再需要使⽤库名,直接使⽤如下格式:
<;函数名>(<;函数参数>)
循环
while
while 判断条件:
执⾏语句
for
for iterating_var in sequence:
statements
range()函数
turtle库
1.绘图坐标体系
turtle库绘制图形有⼀个基本框架:⼀个⼩海龟在坐标系中爬⾏,其爬⾏轨迹形成了绘制图形。
turtle.setup(width,height,startx,starty) :设置主窗体的⼤⼩和位置
width:窗⼝的宽度,如果值是整数,表⽰像素值;如果值是⼩数,表⽰窗⼝宽度与屏幕⽐例height:窗⼝的⾼度,如果值是整数,表⽰像素值;如果值是⼩数,表⽰窗⼝宽度与屏幕⽐例startx:窗⼝左侧与屏幕左侧的像素距离,如果值是None,窗⼝位于屏幕⽔平中央
starty:窗⼝顶部与屏幕顶部的像素距离,如果值是None,窗⼝位于屏幕中央
turtle绝对坐标系

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。