gpt4 book ai didi

python - codecademy战舰项目语法错误

转载 作者:行者123 更新时间:2023-11-28 22:00:47 26 4
gpt4 key购买 nike

我正在通过 codeacademy 网站学习 python。现在我正在尝试编写战舰项目的代码,但我遇到了一个问题:我的代码是:

import random

board = []

for x in range(0,5):
board.append(["O"] * 5)

def print_board(board):
for row in board:
print " ".join(row)

print_board(board)

def random_row(board):
return random.randint(0,len(board)-1)

def random_col(board):
return random.randint(0,len(board[0])-1)

ship_row = random_row(board)
ship_col = random_col(board)
guess_row = input("Guess Row:")
guess_col = input("Guess Col:")

print ship_row
print ship_col

if (guess_row == ship_row and guess_col == ship_col):
print "Congratulations! You sank my battleship!"
else:
if((guess_row < 0) or (guess_row > (len(board) -1) or (guess_col < 0) or (guess_col> (len(board) -1)):
print "Oops, that’s not even in the ocean."
else:
print "You missed my battleship!"
guess_row = "X"
guess_col = "X"
print_board(board)
if board[guess_row][guess_col] == "X":
print "You guessed that one already."

但它返回这个错误:

    if((guess_row < 0) or (guess_row > (len(board) -1) or (guess_col < 0) or (guess_col> (len(board) -1)):
^
SyntaxError: invalid syntax

你能帮我解决这个问题吗?

先谢谢大家

最佳答案

您有 9 个左括号,但只有 7 个右括号。

我个人会删除其中的大部分:

 if guess_row < 0 or guess_row >= len(board) or guess_col < 0 or guess_col >= len(board):

或者,更好的是:

 if not (0 <= guess_row < len(board)) or not (0 <= guess_col < len(board)):

此处,not 后的两对括号不是必需的,但 IMO 提高了可读性。如果您不同意,请随意删除它们。

代码还有一些其他问题。

以下内容:

    guess_row = "X"
guess_col = "X"

可能应该阅读

    board[guess_row][guess_col] = "X"

此外,if board[guess_row][guess_col] == "X": 检查应该在设置 board[guess_row][guess_col] 之前完成或代替设置为当前 guess_rowguess_col"X"

关于python - codecademy战舰项目语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com