whilez’z当他跟if一样
后面都要接一个是非题
是非题就是可以变成True或False的
hui
对不对 这部分可以变成
True或是False
那现在来介绍另外一种while的写法
其实就是把这个条件的这边
它可以变成True或False
如果我直接把它写成True呢
对不对 反正它也会化简成
True或是False
那如果我直接写成True怎麽办
那我是不是永远都出不来了
因为你每一次去问教官说
可以出来了吗
可以不要再回圈了吗
教官说 没有尽头的
因为这个永远都是True
我们会永远都出不来 困在里面
我们执行看看
好 你看 它永远都出不来了
出不来了耶
这就是while True的写法
它一定会进去
因为这个条件已经变True了
所以这边根本就
等于根本不用问问题了
答案都已经写成是了
是非题都已经把答案写成是了
就写成True了
我们就一定会进来
而且每一次执行完了回去
又True 又执行 又回去
又True 又执行
出不来了耶 怎麽办
所以 如果你是用while True这种
强迫一定会进去的这种写法
我们就一定要写break
break就是逃出回圈的意思
你看我这边写一个注解
逃出迴圈
它的这个用法 语法叫做break
破坏 break 断掉 停掉的意思 break
所以我们while True
我们强迫进去之后
我们印出x小于10喔
我还困在框框裡
然后遇到break我们就出去了
所以我们就会到第六行这边 逃出去
那如果这样的话就只会执行一次了
记得Ctrl C是停掉程式
KeyboardInterrupt键盘阻断程式 Ctrl C
好 那我按上再执行一次
有没有 它只执行了一次
因为遇到break跑出去了
那我们来实际上来练习一个
用这种while True的写法的程式
我开一个新的档案
然后我们今天直接写上while True
然后我们让使用者
我们要重複做什麽事情
我们重複的让使用者输入模式
请输入 假设游戏模式好了
游戏模式
然后模式我就把它存成mode 就模式
先存档
请输入游戏模式 存成mode
如果mode是q的话
q就代表quit 离开
我就break 我就离开
所以这个q我就把它
讲成是一个那个quit的缩写
另外如果模式是
假设使用者输入1
那我们就印出启动游戏模式1
模式1就好
那我们另外如果 模式是2
我这样直接写
你们就可以 也是算是一种複习
如果都不是
我们就可以印出说
只能输入1或2或q
这样子好了
我们执行看看
while 1
请输入模式
q就是离开对不对 q就break
q 你看 我们的游戏就结束了
再一次 模式1
你看启动模式1
模式2
启动模式2 启动模式2
然后我q 我就离开
所以这种while True还满典型的
会使用在这种情况
就是让使用者重复的输入
然后你告诉它你什么时候想要离开
你告诉它你什麽时候想要break
想要离开那个迴圈
那以现在这个情况我们写得很清楚
如果使用者输入的模式 mode
是q的时候我就离开
那我可以稍微提醒你一下
你看像我这边这个1跟2
我是用字串
字串的1你有没有看到
它前后有这个字串的符号
我不是用数字1
如果数字1是这样
如果数字1是这样
为什麽我是用字串
因为记得吗
input一定会把东西存成字串
所以这个mode一定是字串
那我懒得把mode转换成数字
它有可能是英文字
我不能转换成数字
所以我做这种比较的时候
通常我们都一定是用
跟字串做比较
字串的1 字串的2
那如果都不是的话呢
我们就印出只能输入1 2 或是q
这个做法还满典型的