打卡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
禁止输入
 

# 设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给他们命名
def creat_text():
    path = '/Users/issuser/Desktop/'
    for name in range (1,11):
        with open(path + str(name) + '.txt','w') as text:
            # text.write(str(name))
            text.close()
            print('Done')
creat_text()

打印结果:

Done
Done
Done
Done
Done
Done
Done
Done
Done
Done
 

# 设计一个复利计算函数 invest(),它包含三个参数:amount(资金),rate(利率),time(投资时间),输入每个参数后调用函数,
# 应该返回每一年的资金总额。它看起来就应该像这样(假设利率为5%)
def invest(amount,rate,time):
    print('本金:{}'.format(amount))
    for time in range(1,time + 1):
        amount = amount * (1+ rate)
        print('year{}:${}'.format(time,amount))
invest(100,0.25,3)
invest(2000,0.025,5)

打印结果:

本金:100
year1:$125.0
year2:$156.25
year3:$195.3125


本金:2000
year1:$2050.0
year2:$2101.25
year3:$2153.78125
year4:$2207.62578125
year5:$2262.8164257812496

# 打印1~100内的偶数
def number():
    for number in range(1,101):
        if number % 2 ==0:
            print(number)
number()

打印结果:

2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值