while循环:
#while 条件:
#执行语句;
#当 条件 成立,重复/循环执行循环体内的 执行语句。
# 1.输出1-100的偶数和
n=1;sum=0;jishu=0;
while n<=100:#当n《=100时,重复执行下列语句。
if n%2==0:
sum+=n;
else:
jishu+=n;
n+=1;#迭代部分;需要让‘n’每执行一次就+1,使n最后大于100,若n的值不变化则整个循环将变为死循环
# 2.请用户输入数字,求和,直到输出0退出。
num=10;sum=0;
while num>0:
sum+=num;
num-=1;
print(" 1-10 和:{}".format(sum))
小练习:用到循环语句、取余、比较运算符、格式化输出、分支语句。
小练习:在1-100中 1、遇到3 和 5的倍数输出:当前值+是3 和 5的倍数 2、遇到5的倍数输出:当前值+是五的倍数 。 3、遇到3的倍数输出:当前值+是3的倍数
while else:当本次循环正常结束后便会执行else里面的语句;当while后面的表达式结果为False时执行else里面的语句。
i=0;
while i<10:
print('i小于10,i=',i);
i+=1;
else:
print('结束循环;i等于10');
for循环:可以遍历任何序列的项目,如一个列表或者一个字符串
#for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
languages = ["C", "C++", "Perl", "Python"]
for x in languages:
print (x)
#执行结果:
C
C++
Perl
Python
在for/while循环的 执行语句 中插入
break可以结束循环。
for letter in 'Runoob': # for循环例子
if letter == 'b':
break
print ('当前字母为 :', letter)
var = 10 # while循环例子
while var > 0:
print ('当期变量值为 :', var)
var = var -1
if var == 5:
break
print ("Good bye!")
在for/while循环的 执行语句 中插入 continue 可以结束本次循环,进入下一轮循环。
for letter in 'Runoob': # for循环例子
if letter == 'o': # 字母为 o 时跳过输出
continue
print ('当前字母 :', letter)
var = 10 # while循环例子
while var > 0:
var = var -1
if var == 5: # 变量为 5 时跳过输出
continue
print ('当前变量值 :', var)
print ("Good bye!")
range():此函数会生成有序数列;range(5);生成有序五位数列,从0开始。[0,1,2,3,4];
for i in range(5):#一个有序数列,包含五个数,从0开始。
print(i)
range()函数 也可以指定区间
for i in range(5,9):#从5开始,到9结束,但不包含9。
print(i);
#生成的有序数列从5开始,到9结束,但不包含9.
range()函数 也可以使range以指定数字开始并指定不同的增量(甚至可以是负数,有时这也叫做'步长'):
for i in range(0, 10, 3):#从0开始,到10结束,但不包含10;有序数列中 前一个数+3生成后一个数。
print(i);#第三个参数为负数会倒叙排列数列。
range()可以结合len()函数以遍历一个序列的索引,如下所示:
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'];
for i in range(len(a)):
print(i, a[i]);
可以使用range()函数来创建一个列表:
list(range(5));#list()函数是创建一个列表,range()函数往列表里添加5个数字。
例子:循环嵌套:for循环里再嵌套一个for循环;for循环里再嵌套一个while循环。
for i in range(5):
for j in range(5):
print("*",end="");#,end=""是使输出结果不自动换行,print()函数有自动换行特性。
print();#输出五行五列‘*’。
for i in range(5):
n=0;
while n<5:
print("*",end="")
n+=1;
print();#输出五行五列‘*’
例子:输出直角三角形
(输出结果是用'*'拼成直角三角城):
for n in range(1,6):
for j in range(n):
print("*",end="")
print();
小练习:
1、用for循环输出九九乘法表:使用到循环嵌套、加减乘除、格式化输出。
2、用for循环输出一个用"*"拼成的等腰三角形;
3、用while循环。请用户输入成绩统计各区间的人数,超出0 - 100重新输入正确询问是否继续:使用到分支语句、输入函数、比较运算符。
4、用for循环统计3个班级 中每个班级3个学生的成绩: 大于80的人数几个:用到循环嵌套、分支语句、continue、比较运算符。