1.range函数的使用
range函数的作用是生成一个整数序列。 range函数的优点在于,不管range对象表示的整数序列有多长,占用的内存空间都是相同的,因为只需要存储start,stop,step三个参数,当要用到range对象时,才会去计算序列中的相关元素。
range函数有下面三种形式。
(1)range(stop)
r = range(10)
print(r)
print(list(r))
上述代码运行结果说明到10结束(不包括10),默认从0开始,默认步长为1(相邻两个数相差1)
(2)range(start, stop)
r = range(1, 10)
print(r)
print(list(r))
上述代码规定从1开始,到10结束。
(3)range(start, stop, step)
r = range(1, 10, 2)
print(r)
print(list(r))
上述代码规定从1开始,到10结束,步长为2。
注:使用 in 和 not in 可以判断某个元素是否在数列里面。
print(7 in r)
print(5 not in r)
2.while循环
i = 0
sum = 0
while i <= 100:
sum += i
i += 2
print(sum)
3.for-in循环
格式为:for 自定义的对象 in 可迭代对象(如字符串,数列等) 作用:依次将可迭代对象的内容赋值给自定义对象
for item in 'python':
print(item)
for i in range(3, 10, 2):
print(i)
如果在循环体中不需要用到自定义变量,可以用 _ 代替,可视为单纯的循环语句
for _ in range(5):
print('Python')
实例:输出100~1000以内的水仙花数
for n in range(100, 1000):
if (n//100)**3 + (n//10 % 10)**3 + (n % 10)**3 == n:
print(n)
4.break:跳出当前循环
实例:银行输密码
for _ in range(3):
pwd = int(input('请输入密码'))
if pwd == 8888:
print('密码正确')
break
else:
print('密码错误')
i = 0
while i < 3:
pwd = input('请输入密码')
if pwd == '8888':
print('密码正确')
break
else:
print('密码错误')
i += 1
5.continue:忽略后面语句,直接执行下一个循环
实例:输出50以内5的倍数
for item in range(51):
if item % 5 != 0:
continue
else:
print(item)
6.循环嵌套
实例:打印一个3行5列的矩阵
for _ in range(3):
for _ in range(5):
print('*', end='\t')
print('\n')
注:print()和print(’\n’)都可以换行
实例:打印九九乘法表
for item1 in range(1, 10):
for item2 in range(1, item1+1):
print(item2, '*', item1, '=', item1*item2, end='\t')
print()
7.else语句的其他用法:和循环语句并列,可视为同属一段代码段,当循环语句没有碰到break的时候,循环结束后会执行外面的else语句,否则不执行
实例:银行输密码
for _ in range(3):
pwd = input('请输入密码')
if pwd == '8888':
print('密码正确')
break
else:
print('密码错误')
else:
print('对不起,三次密码错误!')
|