【发布时间】:2019-08-14 16:12:42
【问题描述】:
我正在开发一个 python 程序,但我仍然是 python 的初学者。 我有一个我正在尝试用 python 编写的 c 程序,我遇到了一个问题,因为在这个程序中,break 语句的执行方式不同。 我有一个循环,然后是第二个内部循环和 if 条件,如果 if 条件有效,我需要中断。 我需要的是 if 条件中的一个 break 语句。 在 Python 中使用这个唯一的 break 语句并没有给我正确的结果,而在 c 中它正在工作。 我注意到,在 C 中,如果我在 if 条件之后的第二个循环中放置第二个中断,我会得到与 python 中相同的错误结果。
for f in range(1,6):
for k in range(1,8):
if(x==y):
break
if ///// :
break
for (int f = 1; f < 6; f++){
for (int k = 1; k < 8; k++){
if(x==y)
break;
}
if /////
break
}
所以这两个代码没有给出相同的结果, 而如果我将 c 代码更改为这个,它会给我同样的 pythong 错误结果
for (int f = 1; f < 6; f++){
for (int k = 1; k < 8; k++){
if(x==y)
break;
}
break; <------------------------------- if i add this
if //////
break;
}
【问题讨论】:
-
我看不出这两个代码 sn-ps 行为不同的原因,除非您的 python 程序存在缩进问题,解释器认为您的 break 语句位于外部循环中,而不是内部循环一。我建议你在两段代码中添加一些打印语句来验证你得到的结果。此外,您的问题不是很具体,您看到的结果与您的预期不同。请edit你的问题来解决这个问题。
-
另外,x 和 y 应该是 f 和 k 吗?如果不是,它们来自哪里?它们是否在循环内被更改?
-
no x 和 y 不是 f 和 k,实际上这是一个大程序,我正在等待结果,这是一个我正在尝试用 python 编写的密码分析系统。
-
你应该总是给出一个一致的例子:stackoverflow.com/help/mcve