一.用法示例
While
循环当条件为True
时候执行,直到条件不满足(False
)的时候退出
count = 1
while count<=5:
print("执行"+str(count)+'次了!')
count=count+1
输出:
执行1次了!
执行2次了!
执行3次了!
执行4次了!
执行5次了!
二.while循环和input
组合使用
msg = ''
while msg !='q':
msg = input("请输入口令退出:")
print(msg)
if msg=='q':
print('口令正确,退出成功')
else:
print('口令错误')
输出:
请输入口令退出:q
q
口令正确,退出成功
三.通过关键标志控制循环
while循环要有可以控制退出的条件,否则就会形成死循环
while True:
city = input("其输入城市,输入q退出:")
if city=='q':
break
else:
print('我爱'+city)
输出:
其输入城市,输入q退出:北京
我爱北京
其输入城市,输入q退出:q
四.打印10以内的奇数
注:continue
意为跳过此次循环,继续执行下次循环
num = 0
while num < 10:
num = num + 1
if num % 2 == 0:
continue
print(num)
五.用while循环操作列表
1.遍历
注意:一般用While
来遍历列表和字典,因为使用for
循环,一边遍历,一边操作数据,可能导致Python无法追踪其中的元素。
例:将new_users
中的数据迁移到users
中
注:pop()
删除最后一个元素,并返回该元素
users = ['老用户']
new_users = ['张三', '李四', '王五', '赵信']
while new_users:
print(users)
users.append(new_users.pop())
输出:
['老用户']
['老用户', '赵信']
['老用户', '赵信', '王五']
['老用户', '赵信', '王五', '李四']
2.删除
删除元素,但不能删除与之重复的
pets = ['dog','cat','pig','ape','dog','dog']
pets.remove('dog')
print(pets)
输出:
['cat', 'pig', 'ape', 'dog', 'dog']
删除元素,包括重复
pets = ['dog','cat','pig','ape','dog','dog']
pets.remove('dog')
while 'dog' in pets:
pets.remove('dog')
print(pets)
六.while遍历词典
dict = {}
flag = True
while flag:
name = input('请输入名字?\n')
answer = input('你想要爬那座山?\n')
dict[name] = answer
repeat = input('你希望重复回答吗?Y/N\n')
if repeat == 'N':
flag = False
for n,a in dict.items():
print(n+',想要去爬'+a)
输出:
请输入名字?
张三
你想要爬那座山?
喜马拉雅山
你希望重复回答吗?Y/N
Y
请输入名字?
李四
你想要爬那座山?
泰山
你希望重复回答吗?Y/N
N
张三,想要去爬喜马拉雅山
李四,想要去爬泰山