- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过 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_row
和 guess_col
的 "X"
。
关于python - codecademy战舰项目语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181146/
所以,我必须在 10x10 的板上制作一个用户对计算机的 Battleship 游戏来上编程课。我必须让计算机随机放置五艘大小为 5、4、3、3 和 2 的船。 我所做的是,我生成了 0 到 9 之间
我正在学习创建一个java游戏,对java来说还是个新手。现在我想创建一个战舰游戏。但现在我被困在这里了。现在,当我随机放置船作为电脑板时,有时它会与之前的船重叠,因此游戏变得不平衡。其次,在我收到玩
我正在制作战舰游戏,一切正常。但是由于我加入了一个回合系统,游戏无法正常运行。游戏有两个棋盘(一个是隐藏的,另一个是“公开的”,对手可以看到(所以没有船只)。隐藏的有效,但公众每回合都会重置,所以你看
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
我正在制作一款战舰游戏。我创建了一个 Ship 类来为船只提供位置。 创建类后,我必须创建所有实例,我想知道是否有一种方法可以自动化它。 大部分程序都是无关紧要的,但我将其保留,以防万一它可能会影响它
我的编译器告诉我有错误,但我已经给我的导师发了电子邮件,他说我的代码非常好。 错误是错误: 1 error C4716: 'ShipPlacement' : must return a value,
我是一个想学习Java的菜鸟。我正在阅读《Head First Java》一书,并且非常喜欢它。我在学习使用 ArrayList<> 时遇到了一个问题而不是常规的array[] 。我在尝试分配 int
我是一名优秀的程序员,十分优秀!