Python语法基础(八):while循环

一.用法示例

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
张三,想要去爬喜马拉雅山
李四,想要去爬泰山

猜你喜欢

转载自blog.csdn.net/x541211190/article/details/79020734