Python教程

打卡day09python基础—while循环

本文主要是介绍打卡day09python基础—while循环,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python 中的另一种循环,和for循环相同点在于都能循环做一件重复的事情,
不同点在于 for 循环会在可迭代的序列被穷尽的时候停止,while则是在条件不成立的时候停止
while的作用就是:只要..条件成立,就一直做....
# Python的while循环与if条件分支类似,不同的是,只要条件为真, while循环会一直重复执行一段代码,这段代码称为循环体。
"""
while 条件:
    循环体
"""
while 1<3:
    print('1 小于 3')
"""
执行该段代码后,需按暂停键停止运行
因为在while 后面的表达式是永远成立的,所以print 会一直执行下去,直至你的CPU过热。
这种条件永远为True的循环,我们称之为死循环
"""

打印结果:

1 小于 3
1 小于 3
1 小于 3
1 小于 3
1 小于 3
1 小于 3

 

i = 0
sum = 0
while i <= 100:
    sum += i
    i += 1
print(sum)

sum=0
i=0
while i<100:
    sum+=i
    i+=1
print(i)
print(sum)
"""
如果上面代码的循环体中缺少i += 1语句,循环将永远也不会退出 (除非将程序强制关闭),也称为死循环。
"""

打印结果:

101
5050
100
4950

"""
在循环过程中制造某种可以使循环停下来的条件,while循环语句的后面加上一个if,if下面的作用就是告诉如果条件成立则停下来。
"""
count = 0
while True:
    print('重复这行')
    count +=1
    if count ==5:
        break

打印结果:

重复这行
重复这行
重复这行
重复这行
重复这行

"""
while和for循环语句的后面也可以加上一个else语句,表示当 条件不成立的时候执行的内容
while 条件:
    循环体
else:
    条件不成立时执行的内容
"""
bingo='清蒸'
answer=input('鲫鱼清蒸好吃还是红烧好吃:')
while True:
    if bingo==answer:
        break
    else:
        answer=input('答错了,请重试新输入(答案对了才能推出游戏):')
print('恭喜你答对了')

打印结果:

鲫鱼清蒸好吃还是红烧好吃:红烧
答错了,请重试新输入(答案对了才能推出游戏):清蒸
恭喜你答对了

# 给登录函数增加一个新功能:输入密码错误超过3次,就禁止再次输入密码
"""
在这里while 可以理解成是if循环版,可以使用while-else结构,而在while代码块中又存在着第二层的逻辑判断,这其实构成了嵌套逻辑
"""
password_list = ['*#*#','123456']
def account_login():
    """增加了while循环,如果tries > 0 这个条件成立,那么便可输入密码,从而执行辨别密码是否正确的逻辑判断 """
    tries = 3
    while tries > 0:
        password = input('请输入密码: ')
        correct_password =password == password_list[-1]
        reset_password =password == password_list[0]

        if correct_password:
            print('恭喜您登录成功')
        elif reset_password:
            new_password = input('请输入新密码: ')
            password_list.append(new_password)
            print('密码修改成功')
            account_login()
        else:
            """当密码输入错误时,可以尝试的次数tries减少1"""
            tries = tries -1
            print(tries,'tries left')
        
    else:
        """while循环条件不成立时,就意味着尝试次数用光,告知用户禁止输入"""
        print('禁止输入')

account_login()

打印结果:

请输入密码: 888
2 tries left
请输入密码: 999
1 tries left
请输入密码: *#*#
请输入新密码: 888888
密码修改成功
请输入密码: 777
2 tries left
请输入密码: 999
1 tries left
请输入密码: 888
0 tries left
禁止输入
 

这篇关于打卡day09python基础—while循环的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!