python(while 循环语句)

一.循环语句

python(while 循环语句)

 

1.while 循环

  • 当我们在 python 中需要重复执行一些动作的时候,这时我们就要用到循环
  • while 循环的结构,当条件成立的时候,就会执行里面的代码
  • while 循环不断的运行,直到指定的条件不满足为止。
  • 注意死循环
while 条件成立:
      执行内容
number = 1  # 指定从1开始数
while number <= 5:  # 只要number小于或等于5 就接着运行这个循环
    print(number)  # 打印循环的值
    number += 1  # 再给number值 + 1
               # 由此类推, 一旦number大于5,循环就停止,整个程序也将到此结束

# 输出结果如下:
1
2
3
4
5
"""死循环/无限循环"""

#例1
count = 0
while count == 0:
    num = input('请输入编号:')

#例2
A = True
while True:
    print ("ok")
"""练习1"""

#奇偶分离 list1 = [1,2,3,4,5,6,7,8,9,10] G = [] O = [] while len(list1)>0: num1 = list1.pop() if num1 % 2 == 0: G.append(num1) else: O.append(num1) print (G) print (O) """ """ # 用while循环列出1-100数字 num = 0 while num < 101: print (num) num += 1 """ """ # 用while循环列出1-100中的所有偶数 num = 1 while num < 101: if num % 2 == 0: print (num) num += 1 """ """ #取出0-100之间的所有偶数,放到列表list1中 num = 0 list1 = [] while num <= 100: if num % 2 == 0: list1.append(num) num += 1 print (list1) num = 0 list1 = [] while num <= 100: list1.append(num) num += 2 print (list1) num = 0 list1 = [] while num <= 100: list1.insert(0,num) list1.sort() num += 2 print (list1) num = 0 i = 0 list1 = [] while num <= 100: list1.insert(i,num) i += 1 num += 2 print (list1) """ """ # 用while循环求出1-100中的所有偶数之和 num = 1 sum = 0 while num < 101: if num % 2 == 0: sum += num num += 1 print (sum) """
"""练习2"""

#coding=utf-8

#模拟登录操作

dic = {'zhangsan':'123456','lisi':'234567','wangwu':'345678'}

A = True
while A:
    user = input("请输入你的账户:")
    if user in dic.keys():
        while A:
            pwd = input("请输入密码:")
            if pwd == dic.get(user):
                print ("登录成功")
                A = False
            else:
                print ("密码错误")
    else:
        print ("用户名不存在")
"""练习3"""

#coding=utf-8

#注册手机号为1开头的11位数字,密码大于6小于18位数,确认密码,将账号密码加入字典dic中

dic = {}
A = True
while A:
    phone = input("请输入手机号:")
    if len(phone) == 11 and phone.isdigit() == True and phone.startswith('1'):
        while A:
            pwd = input("请输入密码:")
            if 6 < len(pwd) < 18:
                repwd = input("请确认密码:")
                if pwd == repwd:
                    print ("恭喜你,注册成功!")
                    dic.setdefault(phone,pwd)
                    print (dic)
                    A = False
                else:
                    print ("两次密码输入不一致!")
            else:
                print ("请输入7到17位密码!")
    else:
        print ("请输入1开头的11位数字的手机号!")
line = 1
while line <= 4:
    print("*" * line)
    line += 1

#当num输入为1时,结果如下:
---> #
---> ##
---> ###
---> ####

 

2.break  退出(终止)循环

  • 要立即退出 while 循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用 break 语句
  • 注意: 在任何 Python 循环中都可使用 break 语句。例如,可使用 break 语句来退出遍历列表或字典的 for 循环。
num = 0
while num<10:
    if num == 5:
        break
    print(num)
    num += 1

#输出内容是
0
1
2
3
4
A = True
while True:
    print ("ok")
    break
username = "zhangsan"
password = "123456"

for i in range(3):
    user = input("User:")
    pwd = input("Pwd:")

    if user == username and pwd == password:
        print("Welcome %s login..." % user)
        break   #打断,跳出循环
    else:
        print("Username or password was error !")
else:   #只要上面的 for 循环正常执行完毕,中间没用被打断,就会执行 else 语句
    exit(u"错误次数过多,请稍后再试...")
username = "zhangsan"
password = "123456"

count = 0

while count < 3:
    user = input("User:")
    pwd = input("Pwd:")

    if user == username and pwd == password:
        print("Welcome %s login..." % user)
        break   #打断,跳出循环
    else:
        print("Username or password was error !")
    count += 1

else:   #只要上面的 while 循环正常执行完毕,中间没用被打断,就会执行 else 语句
    exit(u"错误次数过多,请稍后再试...")

 

3.continue  退出当前循环

  • continue 语句用来告诉 Python 跳过当前循环的剩余语句, 然后继续进行下一轮循环;continue 语句用在 while 和 for 循环中

  • Python continue 语句跳出本次循环, 而 break 跳出整个循环

#小于 5 不打印(即打印出5,6,7,8,9)
for i in range(10):
    if i < 5:
        continue
    print(i)
num = 0

while num < 10:
    num += 1
    if num == 3:
        continue
    print(num)
num = 0
while num<10:
    num += 1
    if num%2 == 0:
        continue
    print(num)

#输出内容是
1
3
5
7
9
var = 10
while var > 0:
    var = var - 1
    if var == 5 or var == 8:
        continue
    print('当前值:', var)
print('Bye')