【问题标题】:Is there a difference in break statement between C and Python?C和Python之间的break语句有区别吗?
【发布时间】: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

标签: python c loops break


【解决方案1】:

break 在两种语言中的行为相同。检查 Python 程序中的缩进。您的前两个样本应该表现相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 2011-04-22
    相关资源
    最近更新 更多