如何使用列表/数组在C++中实现 Python "... not in ..."?



我目前正在学习编程并使用Python做一些简单的项目,并希望在C++和JavaScript中尝试它们。

在这个问题中,我用Python构建了一个简单的井字游戏,现在我想用C++转换它。我卡住的部分是它打平局的部分。我研究了,但我一无所获。我很确定这是一个非常初学者的错误,但我找不到解决方案。

我如何从 Python 实现这一点:

if "-" not in board:
...

C++?就我而言,board是一个列表/数组。

我尝试使用此变体:

int checker = 0;
while (board[checker] != '') {
if (board[checker] != '-') {
display(board);
cout << "The game is a tie!";
break;
}
checker++;
}

但我立即意识到,当除了'-'之外还有其他字符时,代码就会中断 - 这不是正确的做法。有两个值与'-'不同,它们是:'X'表示player1'O' - not zero表示player2

感谢您抽出宝贵时间阅读本文!

如果您只是使用char board[9],那么您可以使用如下所示的std::find

#include <algorithm>
#include <iostream>
int main() {
char board[9] = {};
char *const boardEnd = board + 9;
if ( std::find( board, boardEnd, '-' ) == boardEnd )
std::cout << "Not found";
else
std::cout << "found";
board[4] = '-';
if ( std::find( board, boardEnd, '-' ) == boardEnd )
std::cout << "Not found";
else
std::cout << "found";
}

最新更新