中文的ord>=128
英文的ord<128
while语句的注意事项:
1.要控制循环的真值表达式的值来防止死循环
2.通常用真值表达式内的循环变量来控制循环条件
3.通常在语句内部改变循环变量
while语句的嵌套:
while语句本身就是语句,和其他语句一样,可以嵌套到任何的复合
语句中
示意:
while 真值表达式:
....
while 真值表达式2:
....
else:
...
else:
...
示例见:
while_embed.py
练习:(见while_zhengfangxing.py)
输入一个整数n,打印指定宽度的正方形
如:
请输入:5
打印:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
如:
请输入:3
打印:
1 2 3
1 2 3
1 2 3
break 语句
问题:
如果在循环过程中不想再继续循环语句的执行,怎么办?
作用:
用来循环语句(while,for语句)中,用来终止当前循环语句的执行
说明:
当break语句执行后,此循环语句break之后的语句将不再执行
break语句通常和if语句组合使用
break语句终止循环时,循环语句的else子句的语句不会执行
break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出
嵌套的外重循环
break语句只能在循环语句(while,for语句)的内部使用
示例:见break.py
死循环(一般用于不知道循环次数的时候)
死循环是指循环条件一直成立的循环
死循环能通常用break语句来终止循环
死循环的else子句永远不会执行
练习:(break_2.py)
让用户任意输入一些整数,当输入负数的时候结束输入,当输入完成
后,打印您输入的这些数的和
如:
请输入:1
请输入:2
请输入:3
请输入:4
请输入:-1
打印:10
循环语句:
while语句
for语句
for 语句
作用:用来遍历可迭代对象的数据元素
遍历:指在计算机中经历并只经历一遍
可迭代对象是指能依次获取数据元素的对象
如:
字符串,列表,元组,range函数返回的对象等
语法:
for 变量列表 in 可迭代对象:
语句块1(此处是可能重复执行的语句块)
else:(当for 语句中可迭代对象不能提供数据的时候执行)
语句块2
else当前面不用break时,一定执行
用break时,不会执行
说明:
当在循环体内用break终止循环的时候,else子句部分的语句不会
执行,
else子句部分可以省略
示例见:
for.py
练习:
任意输入一段字符串:
1)计算出字符串中空格的个数
2)计算出字符串中中文字符的个数
(注:中文 字符的编码值一定大于128,可用ord 判断)
range()函数
range(stop) 用来生成0~stop区间内的整数,
直到stop为止(不包括stop)
range(start,stop[,step]) 用来生成start~stop区间内的整数,
直到stop为止(不包括stop),每个整数间隔step
格式详见:
>>>help(range)
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
示意:
range(4) 生成 0 1 2 3
range(3.6) 生成3 4 5
range (1,10,2) # 1 3 5 7 9
range(5,0,-1) # 5 4 3 2 1
range(5,0,-2) #5 3 1
range(4,0) #空
示例见:range.py
练习:
1,打印1~20的整数,打印在一行(用for语句实现)
2,计算1+2+3+...+99+100的和(用for和range实现)
3,计算1+3+5+7+...+97+99的和(用for语句实现)
for语句的嵌套:
示例:
for x in "ABC":
for y in "123":
print(x+y)
# A1 A2 A3 B1...
continue语句
问题:
如何让程序不再向下执行,重新开始一次新的循环
作用:
用于循环语句(whiel,for)中,不再执行本次循环内
continue之后的语句,重新开始一次新的循环
说明:
1.在while语句中执行continue语句,将会直接跳转到while
语句的真值表达式处,重新判断循环条件
2.在for语句中执行continue语句,将会从可迭代对象中取下一个
数据绑定变量后再次进行循环
示例见:
continue.py
练习:
求:1~100之间所有不能被2,3,5,7整除的数的和
循环总结:
while语句
for 语句
字符串 str
range()函数返回的对象
break语句
continue语句
问题:
容器
如何将计算机运算的数据临时存入一个地方,同时方便添加,删除
,查看,修改,查看等操作
列表 list
列表是一种容器
列表是可以被改变的序列容器
创建空列表的字面值:
L = [] # L 绑定一个新创建的空列表
创建非空列表的字面值:
L= [1,2,3,4]
L= ["北京","上海","深圳"]
L= [1,"二",3.14,"Four"]
L= [1,2,[3.1,3.2,3.3],4]
列表本身也是可迭代对象
列表的构造函数(创建)函数 list
list() 创建一个空的列表,等同于[]
list(iterable) 用可迭代对象创建一个列表
示例:
L = list() # L绑定空列表
L = list("hello") #L绑定['h','e','l','l','o']
L = list(range(10)) #L绑定[1,2,3,...,9]
列表的运算:
算数运算符
+ += * *=
示例:
+ 号用于拼接列表
x = [1,2,3]
y = [4,5,6]
z = x + y # z = [1,2,3,4,5,6]
+= 用于原列表与右侧可迭代对象进行拼接,用变量绑定列表
语法:
x += 可迭代对象
如:
x = [1,2,3]
y = [4,5,6]
x += y # x 绑定[1,2,3,4,5,6]
x = [1,2,3,4,5,6]
* 生成重复列表
*= 让原列表重复n次再用原变量绑定
x = [1,2]*3 # x = [1,2,1,2,1,2]
x = [1,2]
x *= 2 # x = [1,2,1,2]
练习:
1,输入一个整数,此整数代表三角形的直角边长
根据整数n打印如下四种三角形
请输入:3
打印如下:
1)*
**
***
2) *
**
***
3)***
**
*
4)***
**
*
2,写一个程序,任意输入一个整数,判断这个整数是否是素数(prime)
素数也叫质数,只能被1和自身整数的正整数
如: 2 3 5 7 11 13 17
提示:
用排除法,当判断x是否为素数时,只要让x分别除以
2,3,4,...。x-1.只要有一个能被整除,则x不是素
数,否则就是素数
3,输入一个正整数代表正方形的宽和高,打印如下正方形
如:
请输入5
打印:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
如输入3
打印:
1 2 3
2 3 4
3 4 5