Python 轻松学会写程式笔记-第3节41-While True(无限回圈)

x = 5
while True:
	print('x小于10噢!')
	print('我还困在框框里')
	break # 逃出回圈
print('我逃出回圈了')

在这里插入图片描述

while True:
	mode = input('请输入游戏模式:')
	if mode == 'q': # quit
		break
	elif mode == '1':
		print('启动模式一')
	elif mode == '2':
		print('启动模式二')
	else:
		print('只能输入 1/2/q')

在这里插入图片描述

我们再看一次
while就是当 那当他跟if一样
后面都要接一个是非题
是非题就是可以变成True或False的

x = 5
while x < 10:
	print('x小于10噢!')
	print('我还困在框框里')
	x = x + 1
print('我逃出回圈了')

这部分(x < 10)可以变成True或是False
那现在来介绍另外一种while的写法
其实就是把这个条件的这边(x < 10)它可以变成True或False
如果我直接把它写成True呢
在这里插入图片描述
反正它也会化简成True或是False
那如果我直接写成True怎么办 那我是不是永远都出不来了
因为你每一次去问教官说 可以出来了吗 可以不要再迴圈了吗
教官说 没有尽头的
因为这个永远都是True 我们会永远都出不来 困在裡面
我们执行看看
好 你看 它永远都出不来了
在这里插入图片描述

这就是while True的写法
它一定会进去 因为这个条件已经变True了
所以就等于根本不用问问题了 答案都已经写成是了
是非题都已经把答案写成是了 就写成True了 我们就一定会进来
而且每一次执行完了回去 又True 又执行 又回去 又True 又执行
出不来了耶 怎么办
所以 如果你是用while True这种
强迫一定会进去的这种写法
我们就一定要写break

break就是逃出迴圈的意思,要空一格tab
你看我这边写一个注解 逃出迴圈
在这里插入图片描述
它的这个用法 语法叫做break 破坏 break 断掉 停掉的意思
所以我们while True
强迫进去之后
我们印出x小于10喔 我还困在框框裡
然后遇到break我们就出去了
所以我们就会到第六行这边 逃出去
那如果这样的话就只会执行一次了

记得Ctrl C是停掉程式

KeyboardInterrupt

键盘阻断程式 Ctrl C

好 那我按上再执行一次
它只执行了一次 因为遇到break跑出去了

那我们来实际上来练习一个 用这种while True的写法的程式
我开一个新的档案
然后我们今天直接写上while True
然后我们重複的让使用者输入模式
请输入 游戏模式
然后模式我就把它存成mode
先存档

如果mode是q的话 q就代表quit 离开 我就break 我就离开
所以这个q我就把它讲成是一个那个quit的缩写

另外如果模式是 假设使用者输入1 那我们就印出启动游戏模式1

那我们另外如果 模式是2 我们就印出启动游戏模式2

如果都不是 我们就可以印出说 只能输入1或2或q

好 我们执行看看
请输入模式
q就是离开对不对 q就break
q
你看 我们的游戏就结束了

再一次 模式1
你看启动模式1
那我可以重新输入
模式1 有没有 启动模式1
模式2 启动模式2
然后我q 我就离开

所以这种while True还满典型的 会使用在这种情况
就是让使用者重複的输入
然后你告诉它你什么时候想要离开

你告诉它你什么时候想要break 想要离开那个迴圈

如果使用者输入的模式 mode是q的时候我就离开
那我可以稍微提醒你一下
你看像我这边这个1跟2
我是用字串
字串的1你有没有看到 它前后有这个字串的符号
我不是用数字1
如果数字1是这样
在这里插入图片描述
如果数字1是这样
为什么我是用字串
因为记得吗
input一定会把东西存成字串
所以这个mode一定是字串
那我懒得把mode转换成数字
它有可能是英文字
我不能转换成数字
所以我做这种比较的时候
通常我们都一定是用跟字串做比较
字串的1 字串的2

那如果都不是的话呢
我们就印出只能输入1 2 或是q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值