鱼C论坛

 找回密码
 立即注册
查看: 2908|回复: 11

循环嵌套有没有直接终止的

[复制链接]
发表于 2014-12-19 19:18:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 瞬秒爆加速 于 2014-12-19 19:24 编辑
  1. for f in range(a,x):
  2. for s in range(b,y):
  3. for r in range(c,z):
  4. if x % i == 0:
  5. co += 1
  6. break
复制代码

如果想要最里面的for有一次false,则最外面的for 有continue一次,要怎么改?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-12-19 20:21:19 | 显示全部楼层
能不能说清楚点? 还有, 你没有缩进
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-19 21:54:56 | 显示全部楼层
直接的方法我不会,不过我会间接的- -,另外写的比较恶心。
  1. for i in range(10):
  2.     try:
  3.         for c in range(10,20):
  4.             try:
  5.                 print('我是否继续%d'%(c))
  6.                 for j in range(20,30):
  7.                     try:
  8.                         if i == 11:
  9.                             print('win')
  10.                         else:
  11.                             raise('Error')
  12.                     except:
  13.                         raise('Error')
  14.             except:
  15.                 raise('Error')
  16.     except:
  17.         print(i)
  18.         continue
复制代码

360截图20141219215300371.jpg


i = 7时的测试。
360截图20141219215344370.jpg
360截图20141219215409522.jpg

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-19 22:50:53 | 显示全部楼层
戴宇轩 发表于 2014-12-19 20:21
能不能说清楚点? 还有, 你没有缩进

我想表达是 ,在有些循环嵌套里,如果最里面的循环 判断 false,怎么整个循环 continue 一次,
  1. for f in range(a,x):#三个嵌套循环for
  2.     for s in range(b,y):
  3.         #如果最里面的for运行有一次符合if判断,则break,那么只是break当前的for(c,z)
  4.         #而不会break掉for(b,y)
  5.         for r in range(c,z):
  6.              if x % i == 0:
  7.                 o += 1
  8.                 break
复制代码

所以没有变成技巧或手段?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-19 22:52:11 | 显示全部楼层
wei_Y 发表于 2014-12-19 21:54
直接的方法我不会,不过我会间接的- -,另外写的比较恶心。

我想表达是 ,在有些循环嵌套里,如果最里面的循环 判断 false,怎么整个循环 continue 一次,
  1. for f in range(a,x):#三个嵌套循环for
  2.     for s in range(b,y):
  3.         #如果最里面的for运行有一次符合if判断,则break,那么只是break当前的for(c,z)
  4.         #而不会break掉for(b,y)
  5.         for r in range(c,z):
  6.              if x % i == 0:
  7.                 o += 1
  8.                 break
复制代码

所以没有变成技巧或手段?

你的代码远看还有型,但是这是抛错吧,我想要内容看不到?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-19 23:21:56 | 显示全部楼层
瞬秒爆加速 发表于 2014-12-19 22:50
我想表达是 ,在有些循环嵌套里,如果最里面的循环 判断 false,怎么整个循环 continue 一次,
所以没有 ...
  1. for f in range(a,x):
  2.         for s in range(b,y):
  3.                 b = False
  4.                 for r in range(c,z):
  5.                         if x % i == 0:
  6.                                 o += 1
  7.                                 b = True
  8.                                 break
  9.                 if b:
  10.                         break
  11.         if b:
  12.                 continue
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-20 00:04:19 | 显示全部楼层

这能这样子去完成?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-20 00:21:20 | 显示全部楼层
瞬秒爆加速 发表于 2014-12-20 00:04
这能这样子去完成?

哦,错了,那个b应该改成其它东西,不与现有变量重名就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-20 10:35:41 | 显示全部楼层
本帖最后由 wei_Y 于 2014-12-20 10:38 编辑
瞬秒爆加速 发表于 2014-12-19 22:50
我想表达是 ,在有些循环嵌套里,如果最里面的循环 判断 false,怎么整个循环 continue 一次,
所以没有 ...

也是可以用异常来捕获。想看到内容在抛错之前加上不就好了嘛。
  1. for i in range(10):
  2.         for c in range(10,20):
  3.             try:
  4.                 print('我是否继续%d'%(c))
  5.                 for j in range(20,30):
  6.                     print('我现在的值%d'%(j))
  7.                     if i == 7:
  8.                         print('win')
  9.                     else:
  10.                         raise('Error')
  11.             except:
  12.                 continue
复制代码

360截图20141220103416540.jpg
要不你直接说总需求我改改我这代码。


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-12-20 10:39:27 | 显示全部楼层
本帖最后由 瞬秒爆加速 于 2014-12-20 10:45 编辑
wei_Y 发表于 2014-12-20 10:35
也是可以用异常来捕获。想看到内容在抛错之前加上不就好了嘛。

原来 抛错也可以这样用~~真犀利。意想不到。谢谢哦
我本来是想要,如果有一个数的数位交换位置,在判读是否满足 素数,或可以开方的,但如果有个不符合就pass这一个数,重新换一个新的数,判断。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-20 10:55:02 | 显示全部楼层
瞬秒爆加速 发表于 2014-12-20 10:39
原来 抛错也可以这样用~~真犀利。意想不到。谢谢哦
我本来是想要,如果有一个数的数位交换位置,在判 ...

呃,只能帮你到这了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-20 10:59:21 | 显示全部楼层
wei_Y 发表于 2014-12-20 10:55
呃,只能帮你到这了。

好的,谢谢你的提醒了。有个方法和思路,起码能发现些东西~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-14 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表