【python】循环语句

1. for循环

# for 循环的语法格式:
#	for 变量 in range(循环次数):
#		循环需要执行的代码
#	else:
#		循环结束时需要执行的代码
#range()函数:
#range(stop): 0~stop-1
#range(start,stop):start~stop-1
#range(start,stop,step):start~stop-1 step(步长)

下面举几个例子看一下:
在这里插入图片描述
range(10)的范围是0-9
在这里插入图片描述
range(3,10)的范围是从3开始取到9
在这里插入图片描述
拿出1-10之间所有的奇数
在这里插入图片描述
拿出1-10之间所有的偶数
补充:

#在python2中:
	#range(1,5):即刻生成数据,消耗时间并且占用内存
	#xrange(1,5):先生成一个xrange对象,使用值的时候才生成数据,才占用内存

#在python3中:
	#range(1,5):相当于python2中的xrange

下面用for循环做几个小练习:
1.计算1+2+3+…+100=???
在这里插入图片描述
2.求1~100之间的所有偶数之和
在这里插入图片描述
3.求1~100之间的所有奇数之和
在这里插入图片描述
4.用户输入一个整形数,求该数的阶乘;3!=321
在这里插入图片描述
5.实现一个用户登陆程序,需求如下:
1)输入用户名和密码
2)判断用户名和密码是否正确(name = ‘potizo’,passwd=‘123’)
3)为了防止暴力破解,登陆仅有三次机会,如果超过三次,程序就报错
在这里插入图片描述
【注】这里控制剩余机会是(2-i),而不是(3-i)。原因i是从0开始取值
6.输入两个数值,求两个数的最大公约数和最小公倍数。
提示:最小公倍数=(num1*num2)/最大公约数
在这里插入图片描述
最大公约数的范围是1-min_num(两个数之间最小的数),这里我们直接用python自带的min函数来求最小数即可,同时最大公约数是两个数能同时整除的最大的数。根据这个条件我们就可以确定for循环的控制范围和if判断条件。最小公倍数根据已知公式即可求解。min函数如下,直接使用即可。
在这里插入图片描述

2. break & continue

#break:跳出整个循环,不会再执行循环后续的内容
#continue:跳出本次循环,continue后面的代码不再执行,但是还是会继续循环
#exit():结束程序的运行

在这里插入图片描述
for的循环本来应该输入0-9,但是加了if判断,当i==5时,执行break。break语句的作用是跳出整个大循环,即直接跳出for循环,不再执行for循环里面break语句后面的内容。
在这里插入图片描述

当i == 5时,执行continue。continue语句的作用是跳出本次循环但不跳出整个大循环,即i ==5时,不再执行for循环里面continue语句后面的内容,但仍需执行for循环。

在这里插入图片描述
执行到exit()语句时,直接结束整个程序。

break代码练习:
模拟我们平常使用的linux命令行交互界面。提示:可以导入os模块,该模块为python一种系统独立的方式与底层操作系统交互,而不论具体是什么操作系统。
在这里插入图片描述
导入os模块后,直接可以调用os.system()函数执行相应的命令,具体怎么实现的我们不需要了解,因为这个函数已经帮我们完成了与底层操作系统交互的工作。if cmd: 表示当cmd不为空时,再进行下一步判断是为exit还是其他命令;最外层的else:与if cmd:对齐,当cmd的输入为空时,进入这个判断,执行continue。
这里应该使用死循环来控制命令的输入,但是for循环一般适用于已知循环次数的循环,因此当需要死循环时,我们可以考虑一下使用while循环。

3. while循环

while 条件:
	条件满足时,做的事情1
	条件满足时,做的事情2
	.....	

while循环的使用格式如下:
在这里插入图片描述
要定义一个整数变量,记录循环次数。

while代码练习:
1.用while循环实现0-100之间所有偶数累加之和
在这里插入图片描述
2.用while控制死循环,模拟linux命令行交互界面。
在这里插入图片描述
3. 猜数字游戏,要求如下:
1)系统随机生成一个1~100的数字;
提示:如何随机生成整型数, 导入模块random, 执行random.randint(1,100);
2)用户总共有5次猜数字的机会;
3)如果用户猜测的数字大于系统给出的数字,打印“too big”;
4)如果用户猜测的数字小于系统给出的数字,打印"too small";
5)如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖100万",并且退出循环;
在这里插入图片描述
执行如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/potizo/article/details/84347127