博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
while循环
阅读量:5298 次
发布时间:2019-06-14

本文共 2725 字,大约阅读时间需要 9 分钟。

目录

while 循环

while循环又叫条件循环

# while循环语法结构while 条件:    code1    code2        ……

只有当条件判断为Ture时,才会执行code1,code2……代码块

# 下面来写一个猜年龄小游戏age = 27while True:    guess_age = input('>>>>请输入你猜的年龄:')    guess_age = int(guess_age)    if guess_age == age:        print('猜对啦!')    elif guess_age > age:        print('猜大了')    else:        print('猜小了')
>>>>请输入你猜的年龄:23猜小了>>>>请输入你猜的年龄:55猜大了>>>>请输入你猜的年龄:30猜大了>>>>请输入你猜的年龄:25猜小了

以上就是一个很简单的while循环,但你是否看到,这个循环会一直循环下去而无法停止,那要怎样让它停止下来呢? 这就需要我们接下来讲到的while……break语句

while……break语法

break表示终止本层循环,其他层的循环不受干扰

while 条件:    code1    code2        break        code3        ...
age = 27while True:    guess_age = input('>>>>请输入你猜的年龄:')    guess_age = int(guess_age)    if guess_age == age:        print('猜对啦!')        break                # 这样猜对啦就会跳出循环,不在继续循环了    elif guess_age > age:        print('猜大了')    else:        print('猜小了')
>>>>请输入你猜的年龄:55猜大了>>>>请输入你猜的年龄:27猜对啦!

while循环嵌套

顾名思义,while循环嵌套就是while循环里还有while循环

上面的小游戏好不好玩,可以玩无数次,直至猜对为止,但这样没啥意义,玩游戏就要有刺激性、期待性,我们可以再增加条件

  1. 只有三次机会可以玩;
  2. 如果猜对了,就会有奖品,且猜的次数越少,奖品越多
print('-------------猜年龄拿奖品啦!-------------')guess_age = 27life = 3count = 0award_dict = {0:'Book',1:'Fish',2:'Food',3:'Cup',4:'pencil'}while count < life:    age = input('>>>>请输入你猜的年龄:')    age = int(age)        if age == guess_age:        time = life - count        print(f'恭喜你猜对啦!!!\n你可以从下面奖品中选择{time}个奖品\n{award_dict}')                # 接下来进行奖品选择,又使用了一次while循环        while time:            num = input('>>>>请输入你想要的奖品编号(一次只能选择一个):')            num = int(num)            print(f'恭喜你获得了奖品【{award_dict[num]}】')            time -= 1        break     # 跳出本层循环        elif age < guess_age:        print('猜小了')            else:        print('猜大了')    count += 1
-------------猜年龄拿奖品啦!------------->>>>请输入你猜的年龄:30猜大了>>>>请输入你猜的年龄:27恭喜你猜对啦!!!你可以从下面奖品中选择2个奖品{0: 'Book', 1: 'Fish', 2: 'Food', 3: 'Cup', 4: 'pencil'}>>>>请输入你想要的奖品编号(一次只能选择一个):2恭喜你获得了奖品【Food】>>>>请输入你想要的奖品编号(一次只能选择一个):3恭喜你获得了奖品【Cup】

while+continue

continue表示跳过本次循环,接下来继续执行本层循环

下面我们写一个从0+1+2+3+……+100的计算公式

count = 0count_sub = 0while count < 100:    count += 1    count_sub +=countprint(count_sub)
5050

如果我们只要100以内偶数相加的值,需要怎么操作呢?

count = 0count_sub = 0while count < 100:    count += 1    if (count % 2) != 0:        continue             # 跳出本次循环,继续下一个循环    count_sub +=countprint(count_sub)
2550

while……else

定义:如果while循环没有被break掉,则执行else内部代码

num = 0while num < 8:    print(num)    num += 1else:    print('else会在while没有被break时才会执行else中的代码')
01234567else会在while没有被break时才会执行else中的代码
num = 0while num < 8:    if num == 6:        break    print(num)    num += 1else:    print('else会在while没有被break时才会执行else中的代码')print('while循环在num = 6时break掉了,所以不会执行else语句')
012345while循环在num = 6时break掉了,所以不会执行else语句

转载于:https://www.cnblogs.com/Hades123/p/10820256.html

你可能感兴趣的文章
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
FUSE-用户空间文件系统
查看>>
 VS2012 C#调用C++ dll
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
bash使用规则
查看>>
AVL数
查看>>
全栈12期的崛起之捡点儿有用的说说
查看>>
属性动画
查看>>
标识符
查看>>
路由跟踪工具0trace
查看>>
给大家分享一张CSS选择器优选级图谱 !
查看>>
Win7中不能调试windows service
查看>>
boost库使用:vs2013下boost::container::vector编译出错解决
查看>>
通过httplib2 探索的学习的最佳方式
查看>>