【问题标题】:'break' in an 'if' statement'if' 语句中的'break'
【发布时间】:2014-02-21 07:44:44
【问题描述】:

我正在 Codeacademy.com 上学习 Python 课程。我对编程完全陌生。我们正在设计游戏“Battleship”的小版本,论坛中的每个人似乎都陷入了同一个问题。它要求您在“if”语句中插入一个 break 语句。经过几天检查我的缩进和代码后,我在您的页面中找到了这个答案:

Python: 'break' outside loop

所以,这是我的代码:

for turn in range(4):
    print turn+1
    guess_row = int(raw_input("Guess Row:"))
    guess_col = int(raw_input("Guess Col:"))

if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sunk my battleship!"


if (guess_row < 0 or guess_row > 5) or (guess_col < 0 or guess_col > 5):
    print "Oops, that's not even in the ocean."

elif(board[guess_row][guess_col] == "X"):
    print "You guessed that one already."

else:
    print "You missed my battleship!"
    board[guess_row][guess_col] = "X"
    # Print (turn + 1) here!

    print print_board(board)
    if turn >4:
        print "Game Over"

说明要求在打印语句“恭喜!你击沉我的战舰!”下直接插入一个“中断”

现在,如果我在没有 break 语句的情况下运行代码,它可以正常工作。如果我使用 break 语句运行代码,游戏可以运行,但会显示“哎呀。您是否插入了 break 语句?”

很多其他人似乎也无法克服这个错误,论坛上的版主坚持说程序没有错误。

所以,对于那里的专家,请告诉我我是否正确,即,如本论坛中的帖子所建议的那样,中断语句在此 if 语句中不起作用。

我很抱歉过于冗长,但我想给出确切的问题,以便我可以返回 Codeacademy 并给出答案!

【问题讨论】:

  • 你的缩进是否正确?因为您所有的if 语句不是for 循环的一部分。
  • 是的,它们在程序中是正确的。不幸的是,即使我在此处使用格式中的括号来粘贴我的代码,它也不正确。
  • 您是否混合使用制表符和空格进行缩进?如果在此处粘贴并在选择 all 时使用 {} 按钮,代码没有正确缩进,您很可能在源代码中使用了制表符。

标签: python for-loop if-statement break


【解决方案1】:

如果您的if 语句要成为for 循环的一部分,您需要缩进

for turn in range(4):
    print turn+1
    guess_row = int(raw_input("Guess Row:"))
    guess_col = int(raw_input("Guess Col:"))

    if guess_row == ship_row and guess_col == ship_col:
        print "Congratulations! You sunk my battleship!"
        break

    # other if statements

现在break 语句也是for 循环中,实际上可以产生效果。

【讨论】:

  • Martijn....我现在可以拥抱你了!我真的哭了几滴眼泪!谢谢!!!!!!!!!!!!!!!
  • 我想我不应该在 cmets 中说谢谢。哎呀! :-)
猜你喜欢
  • 2014-01-07
  • 1970-01-01
  • 2022-05-21
  • 2021-04-27
  • 2018-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
相关资源
最近更新 更多