目录
8 循环中比较 break continue return等差别
1 一般来说,循环里常用的2个命令语句
1.1 跳出循环的3个语句
- break 跳出循环
- continue 继续循环,但是只结束当前的这次,直接开始下次
- 其实还有个 return,直接结束函数
1.2 python里的return
其实还有个 return,直接结束函数
1.3 VBA里没有return
但是,也可以通过 funt-name=xxx,然后调用function 赋值达到类似效果
function funt-name()
funt-name=xxx
end function
x=funt-name
2 return可以用于直接 结束函数,跳出函数执行
def is_odd(number):
if number % 2 == 0:
return False
print("这个数字是奇数")
return True
is_odd(5)
3 return 也可以用于退出循环
def find_index(nums, target):
for i, num in enumerate(nums):
if num == target:
return i
return -1
find_index([1,2,3,4,5], 5)
4 但是 return必须在函数内部才可用!
def fucntion1():
for i in range(1,10):
print(i)
if i%5==0:
print("找到了",i)
return i
fucntion1()
5 break,结束循环
for i in range(1,10):
print(i)
if i%5==0:
print("找到了",i)
break
6 continue,结束本次,继续下次循环
for i in range(1,10):
print(i)
if i%5==0:
print("找到了",i)
continue
7 用不用 return的比较
下面的比较不出来啥,还得放在循环里用 比较
7.1 正常的if分支,if - else
def is_odd(number):
if number % 2 == 0:
print("这个数字是偶数")
return False
else:
print("这个数字是奇数")
return True
is_odd(5)
x=is_odd(8)
print(x)
x=is_odd(9)
print(x)
这个数字是奇数 这个数字是偶数 False 这个数字是奇数 True
7.2 if 只1个分支配合整体的return
def is_odd(number):
if number % 2 == 0:
print("这个数字是偶数")
return False
print("这个数字是奇数")
return True
is_odd(5)
x=is_odd(8)
print(x)
x=is_odd(9)
print(x)
这个数字是奇数 这个数字是偶数 False 这个数字是奇数 True
7.3 差别不大
8 循环中比较 break continue return等差别
可以看到差别是:
- continue 只是结束本次的循环,循环还要继续
- break 退出循环
- return直接退出,最快的退出,退出整个函数
8.1 啥都不加
def is_odd(list):
for i in list:
if i % 2 == 0:
print(i,"这个数字是偶数")
else:
print(i,"这个数字是奇数")
print("执行完毕")
is_odd([1,2,3,4,5])
1 这个数字是奇数 2 这个数字是偶数 3 这个数字是奇数 4 这个数字是偶数 5 这个数字是奇数 执行完毕
8.2 增加 break
- break会跳出整个循环
- 但是还是会执行循环外,函数内的内容
def is_odd(list):
for i in list:
if i % 2 == 0:
break
print(i,"这个数字是偶数")
else:
print(i,"这个数字是奇数")
print("执行完毕")
is_odd([1,2,3,4,5])
1 这个数字是奇数 执行完毕
8.3 增加continue
- continue会跳出当次而已
- 循环还是会继续
- 也会执行循环外,函数内的内容
def is_odd(list):
for i in list:
if i % 2 == 0:
continue
print(i,"这个数字是偶数")
else:
print(i,"这个数字是奇数")
print("执行完毕")
is_odd([1,2,3,4,5])
1 这个数字是奇数 3 这个数字是奇数 5 这个数字是奇数 执行完毕
8.4 增加return
- return会跳出整个循环
- 而且还会直接结束函数
- 循环外,函数内的其他内容也不执行了
def is_odd(list):
for i in list:
if i % 2 == 0:
return
print(i,"这个数字是偶数")
else:
print(i,"这个数字是奇数")
print("执行完毕")
is_odd([1,2,3,4,5])
1 这个数字是奇数