数据类型(整形,浮点数,布尔),序列(字符串,列表,元组,字典,集合),可以看作是数据的组织方式.数据可以看做是"砖块"
流程控制语句是代码的组织方式,可以看作是"混凝土"
一个完整的程序离不开,砖块,也离不开混凝土.他们的组合,才能让我们搭建从小到"一个方法",大到"操作系统",这样各种各样的软件
Pycharm下载与激活
http://www.jetbrains.com/pycharm-edu/
1.激活的方式
购买正版
试用30天
网上寻找激活码
个人之前使用的第三种方式
激活方式参考下面链接
创建项目和初始化配置
1.选择:create new Project
选择路径(尽量不适用中文路径)
修改默认字体大小
file ->setting 搜索font
运行项目
右键找到run即可
选择结构
选择结构通过判断条件是否成立,来决定执行哪个分支.选择结构有多种形式,分为:单分支,双分支,多分支.流程如下:
单分支选择结构
if 语句单分支结构的语法形式如下:
if 条件表达式:
语句/语句块
其中:
条件表达式:可以是逻辑表达式,关系表达式,算术表达式等等.
语句/语句块:可以是一条语句,也可以是多条语句.多条语句,缩进必须对齐一致.
条件表达式详解
在选择和循环结构中,条件表达式的值为False的情况下:
False ,0,0.0,控制None,空序列对象(空列表,空元祖,空集合,空字典,空字符串),空range对象,空迭代对象.
其它清空,均为True.这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式
注意:
条件表达式中,不能有赋值的操作符"="
在Python中,条件表达式不能出现赋值操作符"+",避免了其它语言中经常将关系元素安抚"=="与赋值运算符"="弄混的困扰
直接编译报错
双分支选择结构
双分支结构的预付格式如下
if 条件表达式:
语句1/语句块1
else:
语句2/语句块2
三元条条件运算符
Python提供了三元运算符,用来在某些简单的双分支赋值情况,三元条件元素安抚语法格式如下;
条件为真时的值 if (条件表达式) esle 条件为假时的值
上面的例子可以写成下面的样子
多分支选择结构
多分支选择结构的语法格式如下:
if 条件表达式1:
语句1/语句块1
elif 条件表达式2:
语句2/语句块2
elif 条件表达式n:
语句块n/语句n
[
else:
语句n+1/语句块n+1
]
注:
计算机行业,描述语法格式时,使用中括号[]通常表示可选,非必选
多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序.
选择结构嵌套
选择结构可以嵌套,使用时候一定要注意控制好不同级别代码块的缩进量,因为缩进量决定了代码的从属关系.语法格式如下:
if 表达式1:
语句块1
if 表达式2:
语句块2
else:
语句块3
else:
if 表达式4:
语句块4
score = int(input("请输入一个分数:"))
degree = "ABCDE"
num = 0
if score>100 or score <0:
print("请输入一个0-100的分数")
else:
num = score//10
if num>6:
num=5
print(degree[9-num])
循环结构
循环结构是用来重复执行一条或者多条语句.表达这样的逻辑:如果符合条件,则反复之心循环体里的语句.在每次执行完成都会判断一次条件是否为True,如果为True则重复执行循环体里的语句.图示如下:
循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成死循环.
while 循环
while循环你的语法格式如下:
while 条件表达式:
循环体语句
for 循环和可迭代对象遍历
for循环通常用于可迭代对相关的遍历.for循环的语法格式如下:
for 变量 in 可迭代对象:
循环体语句
可迭代对象
Python包含以下几种可迭代对象:
- 1.序列,包含:字符串,列表,元组
- 2.字典
- 3.迭代器对象(iterator)
- 4.生成器函数(generator)
rang对象
range对象是一个迭代器对象,用来产生指定范围的数字序列.格式为:
range(start,end[,stop]
生成的数值序列从start开始到end结束(不包含end).若没有写start,则默认从0开始.step是可选步长,默认为1.如下面几种典型事例:
循环嵌套:
一个循环体内可以嵌套另一个循环,一般称为"循环嵌套","或者"多重循环"
for i in range(1,10):
for j in range(1,10):
if i>=j:
print("{0}*{1}={2}".format(j,i,i*j),end="\t")
print("\n")
或者
for i in range(1,10):
for j in range(1,i+1):
print("{0}*{1}={2}".format(i,j,i*j),end="\t")
print("\n")
break语句
break语句可用于while和for循环,
用来结束整个循环.当有嵌套循环时候,break语句只能跳出最近的一层循环.
continue语句
continue语句用于结束本次循环,继续下一次,多个嵌套玄幻的时候,continue也是用于最近的一层循环.
else 语句
while,for 循环可以附带一个else语句(可选),如果,for,while语句没有被break语句结束,则会执行else子句,否则不执行.语法格式如下:
while 条件表达式:
循环体
else:
语句块
或者:
for 变量 in 可迭代对象:
循环体
else:
语句块
循环代码优化
虽然计算机越来越快,空间也越来越大,我们仍然要在性能的问题上"斤斤计较".编写循环时,遵守下面三个原则可以大大提高运行效率,避免笔不要的低效计算;
1.尽量减少循环内部不必要的算法
2.嵌套循环中,尽量减少内层循环的计算,尽可能提到外面
3.局部变量查询较快,尽量使用局部变量
其它优化手段:
- 1.链接多个字符串,使用join()而不适用+
- 2.列表进行元素插入和删除,尽量在列表尾部操作.