我正在Codeacademy.com上学习Python课程。我对编程完全不熟悉。我们正在设计游戏“Battleship”的小版本,论坛中的每个人似乎都被困在同一部分。它要求您在'if'语句中插入break语句。经过几天检查我的缩进和代码后,我在你的页面中找到了这个答案:
所以,这是我的代码:
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语句运行代码,那么游戏就会起作用,但是在说“oops。你是否插入了一个break语句?”
很多其他人似乎也无法克服这个错误,论坛的主持人坚持说程序中没有错误。
所以,对那里的专家来说,请告诉我,如果我是对的,也就是说,如果这个论坛中的帖子暗示,这个if语句中的中断声明是行不通的。
我为详细而道歉,但我想提出确切的问题,以便我可以回答Codeacademy的答案!
答案 0 :(得分:8)
如果要成为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
语句也,实际上可以产生影响。