在python中的循环语句有for循环和while循环。
for循环可以遍历自己想要的任何序列的项目,比如列表,字典,元组,字符串等。
for <变量> in <序列>:
<代码块>
如下举例:
names = ['alice','tom','rose','edison']
for name in names:
print('Hello,',name.title())
输出:
Hello, Alice
Hello, Tom
Hello, Rose
Hello, Edison
names = ['alice','tom','rose','edison']
for name in names:
print('Hello,',name.title())
else:
print('列表元素循环完成')
输出:
Hello, Alice
Hello, Tom
Hello, Rose
Hello, Edison
列表元素循环完成
names = ['alice','tom','rose','edison']
for name in names:
'''结合使用条件控制语句,当name变量与rose匹配相等时跳出循环'''
if name == 'rose':
print('break语句结束循环')
break #break语句跳出循环
print('Hello,',name.title())
输出:
Hello, Alice
Hello, Tom
break语句结束循环
注:该例中使用了break语句,作用是结束本次循环
①range(start,stop,step):start开始值,stop结束值(不包含该值),step步长
for i in range(3,10,2):
print(i,end = ' ') #end = ' '表示每次结束不换行
输出:3 5 7 9
②使用range()函数遍历列表
names = ['alice','rose','tom','edison']
length = len(names)
for i in range(0,length):
print("Hello," , names[i].title())
输出:
Hello, Alice
Hello, Rose
Hello, Tom
Hello, Edison
while循环同样需要使用冒号缩进。注意:在Python中没有do…while循环。
while 判断条件:
代码块
实例:使用while循环计算1-100的总和
number = 100
count = 1
sum_ = 0 #使用sum_变量是为了区别和sum关键字的重复
while count <= number: #条件为真,执行while循环中的代码块
sum_ = sum_ + count
count += 1
print(sum_)
输出:5050
n = 1
while n: #条件永远为真,没有跳出循环的条件
print('Never give up')
可以使用Ctrl+c强制结束循环,结束循环后显示错误。
n = 10
while n < 15:
print(n, "<15")
n += 2
else:
print(n, '>15')
输出:
10 <15
12 <15
14 <15
16 >15
break语句可以跳出for和while的循环体,如果在for循环或者while循环中出现break语句,则直接跳出该循环体,循环体中的后续代码将不会被执行。
n = 1
while n:
number = int(input("输入大于0的数字:"))
if number <= 0: #当输入的值<=0的时候,结束循环,循环体中的后续代码不在执行
break
else:
print('显示结果:',number)
输出:
输入大于0的数字:2
显示结果: 2
输入大于0的数字:0
continue语句可以跳出本次循环,执行下一次循环(continue语句后面的代码将不再被执行,而是开始下一轮的循环)。continue语句同样使用与for循环和while循环。
names = ['alice','tom','rose','jack']
for name in names:
'''当name与tom匹配相同时,跳出本次循环,继续下一轮的循环'''
if name == 'tom':
continue
else:
print("Hello,",name.title())
输出:
Hello, Alice
Hello, Rose
Hello, Jack
在循环开始之前首先设置一个标志位,然后再循环中利用标志位结束循环。
例:创建一个空字典,向字典中添加元素
persons = {}
active = True #设置标志位
while active:
name = input('Enter name:')
name = name.lower()
if name == 'quit':
active = False #符合条件,重置标志位,下一次循环的值为False,结束循环
else:
age = int(input('Enter age:'))
persons[name] = age
print(persons)
输出:
Enter name:tom
Enter age:23
Enter name:alice
Enter age:12
Enter name:quit
{'tom': 23, 'alice': 12}
注:多利用条件控制语句和循环语句的结合,或许会有意想不到的收获