013python-while

while  控制循环

1.whlie语法:

while  条件语句:     #逻辑、成员、比较、空数据,空数据=False,非空数据=True、布尔值
    代码块(子语句)

2.执行规律

首先判断while后面的条件表达式是否成立
如果True 那就执行代码块,执行完毕后返回while继续判断,如果是True就继续执行代码块,反复循环,直到对表达式的判断为false为止
如果False,则不进入内部执行代码块

3.死循环

死循环:一直循环,不会结束
while True:
    print('进入死循环')

4.如何解决死循环 

防止代码进入死循环:添加一个变量来控制循环次数
a = 1            #初始值
while a <= 10:   #通过变量限制循环次数
    print('循环次数:{0}'.format(a))
    print('添加变量防止进入死循环')
    a += 1       # 每循环一次  +1

练习:

利用while循环,实现1-100的整数相加
a = 1
sum = 0
while 1 <= a <= 100:
    sum = sum + a
    a += 1
print(sum)

5.while和if打匹配使用用到break和continue,如下:

一个足球队在寻找年龄在10岁到12岁的小女孩(包括10岁和12岁)加入。编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。
解题思路:利用break  continue控制死循环,while和if搭配使用
i = 10   # 询问统计次数
count = 0    # 统计复合条件的次数
while True:
    sex = input('性别:')
    if sex == 'f':
        i -= 1           # 询问一次减一次
        age = int(input('年龄:'))
        if 10 <= age <= 12:
            print('符合')
            count += 1    # 通过一次加一次
        else:
            print('遗憾')
    else:
        print('遗憾')
        i -= 1            # 询问一次减一次
    if i == 0:
        break    # 结束/跳出循环
    else:
        continue  # 结束本次循环,进入下一轮循环
练习:万科笔试题
例如:passwd = {"admin": "123321", "user1": "123456"}
1、设计一个登陆程序,不同的用户名和对应密码存在一个字典里面,输入正确地用户和密码去登陆;
2、首先输入用户名,如果用户名不存在或者为空,则一直提示输入正确的用户名;
3、当用户名正确地时候,提示去输入密码,如果密码跟用户名不对应,则提示密码错误请重新输入;
4、如果密码输入错误超过三次,中断程序运行;
5、当输入密码错误时,提示还有几次机会;
6、用户名和密码都输入成功的时候,提示登陆成功!
passwd = {"admin": "123321", "user1": "123456"}
count = 3    # 控制输入密码的次数
while True:
    u_name = input('请输入用户名:')
    if u_name in passwd.keys():     # 此处取字典中的key值 》字典名.keys()
        while count > 0:            # 循环控制输入密码的次数
            pwd = input('请输入密码:')
            if pwd == passwd[u_name]:     # 此处的密码要取输入的对应的字典中的键值对,字典的取值 》字典名[key]
                print('登陆成功')
                break     # 跳出登陆成功的循环
            else:
                print('密码错误请重新输入:')
                count -= 1      # 输入密码后 减1
                print('您还有{0}次机会!'.format(count))    # 格式化输出,提示语
        break     # 跳出密码错吴的循环
    elif u_name not in passwd.keys() or u_name == '':     # 用户名不存在或为空的情况
        print('请输入正确的用户名:')

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值