break 语句
作用:
用于循环语句(while,for语句)中,用来终止当前循环语句的执行
说明:
当break语句执行后,此循环语句break之后的语句将不在执行
break语句通常和if语句组合使用
break语句终止循环时,循环语句的else子句的语句不会执行
break语句只能终止当前语句的执行,如果有循环嵌套时,
不会跳出嵌套的外重循环l_p[‘name’] = n
break语句只能在循环语句(while,for语句)的内部使用
示例见:day005/a04.py
#此示例示意用break语句来终止循环
i = 1
while i < 6:
print("循环开始的i=", i)
if i == 3:
break
print("循环结束的i=", i)
i += 1
else:
print("while里的else子句被执行")
print("循环结束")
-----------------------------------------------
死循环
死循环是指循环条件一直成立的循环
死循环通常能用break语句来终止循环
死循环的else子句永远不会执行
示例见:day005/a05.py
s = 0 #用于累加
while True:
n = int(input("请输入一个整数:"))
if n < 0: #当输入的整数小于0时
break #终止循环
s = s + n #每循环一次累加一次n
print(s) #打印出你输入的全部整数的和
print()
-----------------------------------------------
for语句
作用:
用来遍历可迭代对象的数据元素
(可迭代对象是指能依次获取数据元素的对象,如:字符串,列表,元祖,range函数返回的对象等)
语法:
for 变量列表 in 可迭代对象:
语句块1(此处是可能重复执行的语句块)
else:
语句块2
说明:
当在循环体内用break终止循环时,else子句部分的语句不会执行,else子句部分可以省略
示例见:day005/a06.py
s = "ABCDE"
for ch in s:
print("ch---->", ch)
if ch == 'C':
break
print("这是break之后的语句")
else:
print('for语句的else子句被执行')
print('程序结束')
for语句嵌套:
示例:
for x in “ABC”:
for y in “123”:
print(x + y)
例题
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
for x in range(1, 5):
for y in range(1, 5):
for z in range(1, 5):
if x != y and x!= z and y != z:
print (x, y, z)
------------------------------------------------
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(4, 0) 生成 空
range(5, 0, -2) 生成5, 3, 1
实例见:day005/a08.py
for x in range(4):
print(x)
print('-----------------------')
for x in range(3, 6):
print(x)
print('=======================')
for x in range(10, 0, -2):
print(x)
-------------------------------------------------
continue 语句
作用:
用于循环语句(while, for)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环
说明:
1.在while语句中执行continue语句,将会直接跳转到while语句的真值表达式处,重新判断循环条件
2.在for语句中执行continue语句,将会从可迭代对象中取下一个数据,绑定变量后再次进行循环
示例见:day005/b03.py
for n in range(0, 10):
if n % 2 == 0:
continue
print(n)
print('---------------------------')
n = 0
while n < 10:
if n % 2 == 0:
n += 1
continue
print(n)
n += 1
-------------------------------------------------
--------------------------------------------------
练习:
1.输入一个整数,此整数代表三角形的直角边长,根据整数n打印如下四种三角形
请输入:3
打印如下:
1)
*
**
***
2)
*
**
***
3)
***
**
*
4)
***
**
*
n = int(input('请输入:'))
for line in range(1, n + 1):
print('*' * line)
print()
for line in range(1, n + 1):
blank = n - line
print(' ' * blank + '*' * line)
print()
for stars in range(n, 0, -1):
print('*' * stars)
print()
for stars in range(n, 0, -1):
blank = n - stars
print(' ' * blank + '*' * stars)
2.写一个程序,任意输入一个整数,判断这个整数是否是素数(pr),素数(也叫质数),只能被1和自身整除的正整数 如:2 3 5 7 11 13 17 19
提示:
用排除法,当判断x是否为素数时,只要让x分别除以2,3,4,…x-1,只要一个能整除,则x不是素数,否则x是素数
x = int(input('请输入一个整数:'))
if x < 2:
print(x, '不是素数')
else:
prime_flag = True #先假设x是素数
for i in range(2, x):
if x % i == 0: #说明整数
prime_flag = False
break
#当循环结束后,prime_flag为真则为素数
if prime_flag:
print(x, '是素数')
else:
print(x, '不是素数')
方法二:
n = int(input('请输入整数:'))
i = 2
while i <= (n - 1):
if n % i == 0:
print('这个数不是素数')
break
i += 1
else:
print('这个数是素数')
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
n = int(input('请输入:'))
for line in range(1, n + 1): #line代表行数
for i in range(line, line + n):
print(i, end=' ')
print()