Python 循环语句
Python的循环语句有"for"和“while”
while 循环
在Python需要注意冒号和缩进。在Python中没有do..while 循环、实例:使用while计算1 到 100 的总和:
n=100;
sum = 0;
counter = 1
while counter <= n:
sum = sum + counter
counter +=1
print ("1 到 %d 之和为: %d "%(n,sum))
输出结果:
1 到 100 之和为: 5050
无限循环
通过设置条件让表达式永远部位False 来实现无限循环,如下:
var = 1
while var ==1:#表达式永远为:Ture
num = int(input("输入一个数字:"))
print("您输入的数字是:", num )
print ("结束")
输出的结果为:
输入一个数字:2
您输入的数字是: 2
输入一个数字:3
您输入的数字是: 3
输入一个数字:
.........
在无线循环时,使用CTRL+C 来退出当前的无限循环、
无限循环在服务器上客户端实时请求非常有用。
while 循环使用 else 语句
当 while,,, else 语句,在条件为False 时,执行else 的语句块:例如:
count = 0
while count < 5:
print (count,"小于 5")
count = count + 1
else:
print (count,"大于或等于 5")
输出结果为:
0 小于 5
1 小于 5
2 小于 5
3 小于 5
4 小于 5
5 大于或等于 5
for 语句
for 循环可以遍历任何序列的项目,列表或者字符串。loop循环实例:
languages = ["c","c++","java","python"]
for x in languages:
print (x)
输出结果为:
c
c++
java
python
break 语句:跳出当前循环,如例:
sites = ["Baidu","Google","Runoob","Taobao"]
for site in sites:
if site == "Runoob":
print ( " 你好!")
break # 跳出本次循环
print ("循环数据"+ site )
else:
print ("没有循环数据!")
print ("循环完成!")
#输出的结果为:
循环数据Baidu
循环数据Google
你好!
循环完成!
range() 函数
当需要遍历数字序列时,使用内置(range())函数,会生成数列。例如:
for i in range (3):
print(i)
输出结果为:
0
1
2
也可以使用 range 指定区间的值(指定的区间值,取值不包括最后一位):
for i in range (5,8):
print (i)
输出结果为:
5
6
7
还可以使用range 来指定数字开始并取不同的增量(可以为负数),增量也叫“步长”:
for i in range (0,12,3):
print (i)
输出的结果为:
0
3
6
9
负数:
for i in range (-5,-13,-3):
print (i)
输出结果为:
-5
-8
-11
可以结合range() 和 len() 函数以遍历一个序列的索引,如下:
a = ["Baidu","Google","Runoob","Taobao","QQ"]
for i in range (len(a)):
print (i,a[i])
输出结果:
0 Baidu
1 Google
2 Runoob
3 Taobao
4 QQ
运用range()函数创建列表:
print (list (range (3)))
输出结果为:
[0, 1, 2]
break和continue语句及循环中的else语句
break语句可以跳出 for 和 while 的循环体,如果在 for循环或者while循环中终止,任何对应的 else 快将 不在执行,例:for letter in 'Runoob': # 第一个实例
if letter == 'b':
break
print ('当前字母为:',letter)
var = 10 # 第二个实例
while var > 0:
print ('当前变量为:',var )
var = var -1
if var == 5:
break
print ("循环结束!")
输出结果为:
当前字母为: R
当前字母为: u
当前字母为: n
当前字母为: o
当前字母为: o
当前变量为: 10
当前变量为: 9
当前变量为: 8
当前变量为: 7
当前变量为: 6
循环结束!
循环语句可以有else 字句,它在穷尽列表(以for循环)或条件变为false(以while循环)导致循环终止时被执行,但循环被break终止时不用执行。
循环例子:
for n in range (2,10):
for x in range(2,n):
if n % x == 0:
print (n,'等于',x, '*',n//x)
break
else:
#循环中没有找到元素
print(n ,' 是质数')
输出结果为:
2 是质数
3 是质数
4 等于 2 * 2
5 是质数
6 等于 2 * 3
7 是质数
8 等于 2 * 4
9 等于 3 * 3
pass 语句
pass 语句是空语句,是为了保持程序结构的完整性,pass一般只做占位语句。pass 是最小的类
例:
while True:#死循环
print ('pass')#等待键盘中断(ctry+c)
以下实例中,字母为o 时执行 pass 语句块:
for letter in 'Runoob':
if letter == 'o':
pass
print ('执行 pass 块')
print('当前字母:',letter)
print ('执行结束!')
输出结果为:
当前字母: R
当前字母: u
当前字母: n
执行 pass 块
当前字母: o
执行 pass 块
当前字母: o
当前字母: b
执行结束!
笔记:
关于pass的作用:
pass是为了防止语法错误。
if a>1:
pass# 如果没有内容,可以先写pass,如果不写pass,就会语法错误
pass就是一条空语句,在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass。
----------------------------------------------------------------------------------------------
while 循环语句和for 循环语句使用 else的区别:
- 1,如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句
- 2,如果 else 语句 和for循环语句一起使用,else语句块只会在for 循环中正常终止执行。
----------------------------------------------------------------------------------------------
for循环的嵌套实例:
for i in range(1,6):
for j in range(1,i+1):
print ("*",end="")
print ("\r")
输出结果为:
*
**
***
****
*****
----------------------------------------------------------------------------------------------
使用循环嵌套来实现99乘法表:
#外边一层函数控制行数
#i是行数
i=1;
while i<=9:
#里面的一层函数控制每一行的列数
j =1;
while j<=1:
mut =j*i;
print ("%d*%d=%d"%(j,i,mut),end=" ")
j+=1
print("")
i+=1
输出结果为:
1*1=1
1*2=2
1*3=3
1*4=4
1*5=5
1*6=6
1*7=7
1*8=8
1*9=9
----------------------------------------------------------------------------------------------
for循环1-100 整数的和:
n=0
sum=0
for n in range(0,101):# n 范围 0-100(指定函数不包括最后一位)
sum+=n
print (sum)
输出结果为:
5050