python学习
1.for 循环
range()函数
for i in range(1,10):
print(i)
#输出为
1
2
3
4
5
6
7
8
9
该函数还可以制定步长如:for i in range(1,10,2)
即为以2为步长,在1到10内循环。
for循环与列表的结和
squares = []
for number in range(1,10):
square = number ** 2
squares.append(square)
print(squares)
#输出为
[1, 4, 9, 16, 25, 36, 49, 64, 81]
简化
squares = [number**2 for number in range(1,10)]
print(squares)
与字典结合
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for key, value in dic.items():
print(key, value, sep=':', end=' ')
for key in dic.keys():
print(key, end=' ')
for value in dic.values():
print(value, end=' ')
# a:1 b:2 c:3 d:4
# a b c d
# 1 2 3 4
for - else
当for循环正常执行完成时,则继续执行else处的代码块,当for循环出现跳出循环的情况如break语句,则不执行else代码块。
在一些问题中能有很好的效果,如下面的求质数的问题:
for num in range(10, 20): # 迭代 10 到 20 之间的数字
for i in range(2, num): # 根据因子迭代
if num % i == 0: # 确定第一个因子
j = num / i # 计算第二个因子
print('%d 等于 %d * %d' % (num, i, j))
break # 跳出当前循环
else: # 循环的 else 部分
print(num, '是一个质数')
# 10 等于 2 * 5
# 11 是一个质数
# 12 等于 2 * 6
# 13 是一个质数
# 14 等于 2 * 7
# 15 等于 3 * 5
# 16 等于 2 * 8
# 17 是一个质数
# 18 等于 2 * 9
# 19 是一个质数
当没有因数时则不会执行break语句,则内层循环结束后则会执行else代码块,说明该数为质数。
for循环与enumerate()函数结合
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。一般用于for循环
用法如下:
l = {'a','b','c','d','e'}
li = list(enumerate(l))
print(li)
li = list(enumerate(l,start=2))
print(li)
#[(0, 'd'), (1, 'b'), (2, 'c'), (3, 'e'), (4, 'a')]
#[(2, 'b'), (3, 'd'), (4, 'e'), (5, 'a'), (6, 'c')]
可填两个实参,前一个为需要操作的列表(元组或字符串),后一个为下标的起始数字,默认为0。
与for循环结合如下:
l=['a','b','c','d','e']
for i,j in enumerate(l,2):
print(i,j)
#2 a
#3 b
#4 c
#5 d
#6 e
while循环
当while中的条件正确是则继续执行循环,否则退出循环
例子:
string = 'abcd'
while string:
print(string)
string = string[1:]
# abcd
# bcd
# cd
# d
当列表为空时其布尔表达式返回0,则不正确,循环终止。
while-else
与for-else类似,当循环正常结束时执行else中的代码块,若出现跳出循环,则不执行。
break语句
直接跳出本层循环。
continue语句
当执行到该语句,跳过下面语句,结束本次循环,直接进行下次循环。
pass语句
不做任何事,可以在没有语句的地方使用,让系统不报错。
标签:10,python,质数,else,range,循环,print From: https://www.cnblogs.com/102204216zxf/p/16979614.html