每日python,第九篇,while循环

667 阅读5分钟

​「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。

这里是清安,带你一起了解while循环的深入浅出。一起来看看吧。

 while循环

        while语句可以让程序运行你想运行次数,如果为True就会一直运行下去

        while 条件语句:

            条件判断,程序

i = 0
while i < 5:
    print('清安 ')
    i += 1
# 其结果是:
# 清安 
# 清安 
# 清安 
# 清安 
# 清安

    while为True的时候:

while True:
    i = input('请输入一个数:')
    if i == '1':
        break
# 其结果是:
# 请输入一个数:2
# 请输入一个数:3
# 请输入一个数:1

         在这个while循环内我们不输入字符串1,就会一直循环下去,结束了,看看下面的例题你就明白了。

input函数   

        在学习while循环之前呢,我们先来学习一下input()函数,这个函数是让程序暂停运行,等待用户输入内容!看代码:

lisi = input("请输入内容:")
print(lisi)

        input函数的用法就是这样,括号内我们可以输入自己想要输出的提示语哦,记得只是字符串类型,他可以搭配if,for,while来使用,本章后面会有很多的小实战帮助你理解。

        这里我们在控制台输入清安后按下回车键,python就会自己运行print直接将结果打印出来了。我们也可以将输入的内容定义类型,比如说整型int型:

lisi = int(input("请输入内容:"))
print(lisi)

# 写法二
lisi = input("请输入内容:")
zhangsan = int(lisi)
print(zhangsan)

        这里我们多了一步另外定义一个变量用于接收输入的内容,这里值得注意的是int型我们只能输入数字,输入字符串就会报错!!!

while循环

while循环就是不断的运行程序,直到条件不满足为止!

i =1
while i < 5:
    print(i)
    i += 1

        看上面这个实例,我们先是定义了一个变量i,i为1,下一步进入while循环,我们在while循环这里给到一个判断,也就是简单的数学逻辑判断,这里呢值得注意的就是i += 1,可能有些小伙伴看不懂,其实就是i = i+1,简便了一些。还有一点就是为什么这个i += 1放在 print后面。

  1. 我们开始就定义了一个变量i=1,我们要想输出5以内,1及1以上的数字,就必须要把i先输出,才能进行累加
  2. 如果我们的i = 0,那么i += 1放在print前面就是正确的,否则输出的就是2,3,4,5,就不符合我们想要的结果了

        我们再看一个例子:

zhangsan = ""
while zhangsan != "lisi":
    zhangsan = input("请输入内容:")
    print(zhangsan)

     解释:

  1. 我们在while循环前面先定义一个字符串变量,如果在这里直接使用input函数,while循环就会陷入死循环。
  2. 这里还有一个不好的地方就是我们输入的内容也会被一起打印出来,解决方案就是一个if判断
zhangsan = ""
while zhangsan != "lisi":
    zhangsan = input("请输入内容")
    if zhangsan != "lisi":
        print(zhangsan)

        我们在这里又多做了一个判断,使用这个判断可以去除掉多余的内容哦。

        除了自己使用逻辑判断,我们还可以直接使用while语句里面的真循环,也就是再不满足条件的情况下一直循环。除此之外,我们还有一系列的退出循环写法,看下面的例子

i = True
while i:
    zhangsan = input("请输入内容:")
    if zhangsan == "lisi":
        i = False
    else:
        print(zhangsan)

         这里我们使用了False进行了结束循环,while True:会让程序再判断过程中不满足条件 的情况下一直运行。当满足时就会结束循环了。

break语句

        它可以控制哪些语句运行,哪些语句不运行哦。

while True:
    zhangsan = input("请输入内容:")
    if zhangsan == "lisi":
        break
    else:
        print(zhangsan)

         放在这就是当zhangsan满足条件的时候结束循环

continue

        还有continue语句可以使用,它不会跟break一样,直接结束循环,continue可以根据条件进行判断是否执行接下来的程序运行

# 简单例子
while True:
    i = input("请输入一个字母:")
    if i == 'q':
        continue
    elif i == 'w':
        break
    else:
        print('继续')
# 请输入一个字母:q
# 请输入一个字母:e
# 继续
# 请输入一个字母:w
# 复杂例子
number = 0
while number < 10:
    number += 1
    if number % 2 == 0:
        continue
    print(number)
  1. 这里我们就如上面的例题所说的,设定一个变量为0,然后将累加放在的print前面了哦
  2. 这里的%时模余的意思(用当前数除以2取余),当余数为0 的时候进入continue,程序停止输出,当模余不为0的时候打印当前数

实战

# 定义一个变量姓名列表
name = ['zhangsan','lisi','wangwu','zhaoliu']
# 再定义一个以及完成验证的用户列表
name_user = []
while name:
    users = name.pop()
    print(f"已经验证的有:{users.title()}")
    name_user.append(users)

for name_users in name_user:
    print(f"完成核验的用户有:{name_users.title()}")

        在这里呢,我们简单的使用while进行了列表验证,里面我们用到了.pop(),.append(),.title()方法,这都是我们讲列表的时候讲到的哦,忘记了的小伙伴赶紧去复习,我们直接进入解释阶段:

        .pop()方法是移除,但是我们还是可以访问到它,这里我们将移除的列表字符串给到一个新的变量,以便于后面的添加。.append()方法呢,是添加的意思,将前面移除的列表字符串添加到我们定义的空的列表中,再使用for循环进行打印。

        我们还可以进行删除操作哦

name = ['zhangsan','lisi','wangwu','zhaoliu','zhangsan','lisi']
while 'lisi' in name:
    name.remove('lisi')
print(name)

        这里我们用到了判断一个字符串是否包含再列表中,in方法,然后使用列表操作进行删除,并打印