网易极客战记官网codecombat|干货:三大语法点,教你彻底掌控While的循环流程!

今天来给大家详细讲讲关于 while 循环结构,Continue 和 Break 的运用。了解了循环的控制后,大家便能很清楚地明白自己需要如何控制循环来达到想要的答案了

先上干货:

1、while循环

在这里插入图片描述
如图所示,while循环在执行之前,会先判断条件的对错,如果条件对,才执行循环,如果条件错,则循环跳过,直接进入下一步。

如果while 判定为False后,该循环会被直接跳过,直接进入循环后面的代码段。
在这里插入图片描述
来看看这样一段代码,这段代码便是在循环1判定为false,跳过后,进入了下一个循环。

其运行结果为:
在这里插入图片描述

2、while else循环:

在这里插入图片描述
另外,while else循环是一种在判断为False以后,先执行else内的代码块,再离开循环的循环结构。

其用法为:

a = 1

while a == 5:

print ("true")

else :

print ("false")

print (“循环外的print”)

而最后的输出结果为:
在这里插入图片描述
可见while else的用法及作用。

3、Continue:

continue的作用是:直接结束本次循环,包括continue后面的代码,均不执行,直接回到循环的开头,再次循环。

写一段这样的代码:
在这里插入图片描述
运行结果如图:
在这里插入图片描述
发现了吗?当a=3 的时候,a直接增加了2,而并没有执行增加1的指令,可见continue的作用,将掐断当前循环,后面的代码不被执行,直接回到了循环头。

因此如果大家的要求是,在进行某种判断后,掐断当前循环,再重新开始该循环:

while True:
if 条件:
需要执行的代码
continue

可以使用一个if 搭配一个条件,然后条件满足时,执行continue。

4、Break:

break的用法与continue类似,只不过其作用比continue更“简单粗暴”,它不再回到循环头了,直接结束循环,进入了循环外的代码。所谓“一刀切”。

继续拿continue的代码举例,略做修改:

a = 1
while True:
print(a)
if a == 3:
a = a + 2
break
a = a + 1
print(“循环结束了……”)

把continue改成了break,观察最后的循环效果。
在这里插入图片描述
可见本来print(“循环结束了……”)这句话在无限循环外,本来永远都不会被执行到,但在a==3时,执行了break,直接结束了循环。

如上便是:continue、break、while以及while else的用法教学啦

解析 `<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>` 这个字符串可以使用字符串分割和正则表达式等方法来提取出需要的信息。下面是一个示例的解析代码: ```python import re def parse_grbl_status(status_string): # 使用正则表达式匹配出各个状态信息 match = re.match(r'<(.*?)\|MPos:(.*?)\|FS:(.*?)\|WCO:(.*?)>', status_string) if match: # 提取出各个状态信息 machine_state = match.group(1) machine_position = match.group(2) feed_rate = match.group(3) work_coordinate_offset = match.group(4) # 返回解析后的状态信息 return { 'machine_state': machine_state, 'machine_position': machine_position, 'feed_rate': feed_rate, 'work_coordinate_offset': work_coordinate_offset } else: # 解析失败,返回空字典 return {} ``` 使用上述代码,你可以将 `<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>` 这个字符串传入 `parse_grbl_status` 函数中,它将返回一个包含解析后状态信息的字典。 示例用法: ```python status_string = '<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>' status_info = parse_grbl_status(status_string) print(status_info) ``` 输出结果: ``` { 'machine_state': 'Idle', 'machine_position': '0.000,0.000,0.000', 'feed_rate': '0,0', 'work_coordinate_offset': '0.000,0.000,0.000' } ``` 注意,解析代码的正则表达式模式根据实际返回的字符串格式进行了简单的设定,如果返回的格式有所变化,可能需要相应地调整正则表达式模式来匹配正确的状态信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值