「这是我参与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后面。
- 我们开始就定义了一个变量i=1,我们要想输出5以内,1及1以上的数字,就必须要把i先输出,才能进行累加
- 如果我们的i = 0,那么i += 1放在print前面就是正确的,否则输出的就是2,3,4,5,就不符合我们想要的结果了
我们再看一个例子:
zhangsan = ""
while zhangsan != "lisi":
zhangsan = input("请输入内容:")
print(zhangsan)
解释:
- 我们在while循环前面先定义一个字符串变量,如果在这里直接使用input函数,while循环就会陷入死循环。
- 这里还有一个不好的地方就是我们输入的内容也会被一起打印出来,解决方案就是一个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)
- 这里我们就如上面的例题所说的,设定一个变量为0,然后将累加放在的print前面了哦
- 这里的%时模余的意思(用当前数除以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方法,然后使用列表操作进行删除,并打印