Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我的战列舰.py脚本缩进错误_Python - Fatal编程技术网

Python 我的战列舰.py脚本缩进错误

Python 我的战列舰.py脚本缩进错误,python,Python,我正在尝试创建一个简单的两人游戏,就像经典的战舰。因此,我开始学习Python,并保持简单。我已经创建了一个5x5网格,我希望玩家(2)能够将一艘船1x1放置在棋盘上的任何位置。然后他们轮流猜测对方把船放在哪里 当我编译代码时,第61行出现缩进错误“else:。我知道“H”和“m”表示命中和未命中,因为我要将其输出到同一个播放板,所以它们会重叠 我想我需要帮助的是代码中的while循环 import sys #////////////////////////////Setting up boa

我正在尝试创建一个简单的两人游戏,就像经典的战舰。因此,我开始学习Python,并保持简单。我已经创建了一个5x5网格,我希望玩家(2)能够将一艘船1x1放置在棋盘上的任何位置。然后他们轮流猜测对方把船放在哪里

当我编译代码时,第61行出现缩进错误
“else:
。我知道“H”和“m”表示命中和未命中,因为我要将其输出到同一个播放板,所以它们会重叠

我想我需要帮助的是代码中的while循环

import sys

#////////////////////////////Setting up board////////////////////////////////////
board = []

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

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


#///////////////////////////Getting input//////////////////////////////////////////
def user_row():
    get_row = raw_input("Enter ship row between 1 and 5")
    #Not shure if this is the best way of checking that the input is an int
    if int(get_row) == False:
        print "You must enter an integer between 1 and 5"
        get_row = raw_input("Enter ship row...")
        if int(get_row) == False:
            sys.exit()

def user_col():
    get_col = raw_input("Enter ship col between 1 and 5")
    if int(get_col) == False:
        print "You must enter an integer between 1 and 5"
        get_col = raw_input("Enter ship col...")
        if int(get_col) == False:
            sys.exit()

#/////////////////////////Intro//////////////////////////////////////////////////////
print "Let's play Battleship!"
print "This is your ocean"
print_board(board)


#////////////////////////Placing ships//////////////////////////////////////////////
print "Player 1 your up!"
print "Player 2 look away!"
print "Place your ship..."

#Not shure if this will call the two functions chronologic and store them as index 0 and 1 in my array. That is what I want it to do
user1_ship = [user_row(), user_col()]

print_board(board)
print "Player 2 your up!"
print "Player 1 look away!"
print "Place your ship..."

user_2 = [user_row(), user_col()]


#///////////////////////guesswork?//////////////////////////////////////////////////
#Maybe while loops inside while loops is not the best way of running the code over and over until someone sinks the other persons ship
#What Im expecting is the first inside while loop to break the outer loop if the player hits the other players ship otherwise break itself. Likewise with the second inner loop.
while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
    break
        else:
            board[user1_guess[0]][user1_guess[1]] == "M"
            print "You missed"
            break
    while True:
        print "Player 2 your turn"
        user2_guess = [user_row(), user_col()]
        if user2_guess == user1_ship:
            board[user2_guess[0]][user2_guess[1]] == "H"
            print "PLAYER 2 WINS!"
    break
        else:
            board[user2_guess[0]][user2_guess[1]] == "M"
            print "You missed"
            break

你的缩进不正确。。。看看这个:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
    break
break
语句必须与
print
语句具有相同的缩进,如下所示:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
            break

如果您有时间,请阅读a以提高代码质量。

您的缩进不正确。。。看看这个:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
    break
break
语句必须与
print
语句具有相同的缩进,如下所示:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
            break

如果您有时间,请阅读a以提高代码质量。

您的缩进不正确。。。看看这个:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
    break
break
语句必须与
print
语句具有相同的缩进,如下所示:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
            break

如果您有时间,请阅读a以提高代码质量。

您的缩进不正确。。。看看这个:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
    break
break
语句必须与
print
语句具有相同的缩进,如下所示:

while True:
    while True:
        print "Player 1 your turn"
        user1_guess = [user_row(), user_col()]
        if user1_guess == user2_ship:
            board[user1_guess[0]][user1_guess[1]] == "H"
            print "PLAYER 1 WINS!"
            break


如果您有时间,请阅读a以提高代码质量。

正如错误所说,您的缩进是错误的。
else
前面的
break
不能处于缩进级别。这是为了尝试打破外部的
while
循环吗?您可能会得到更多的帮助。这是网络中的另一个网站,人们希望改进他们的代码,并获得更有经验的程序员的反馈。@SuperBiasedMan只要代码有错误,CR就不谈这个话题。@SimonAndréForsberg我想建议在代码运行时从哪里获得更多反馈,由于询问者通常只是希望得到脚本方面的帮助。这只是未来的一个提示,很多时候,当解释器说您在第X行有缩进错误或无效语法时,错误实际上就在上面一行。正如错误所说,您的缩进是错误的。
else
前面的
break
不能处于缩进级别。这是为了尝试打破外部的
while
循环吗?您可能会得到更多的帮助。这是网络中的另一个网站,人们希望改进他们的代码,并获得更有经验的程序员的反馈。@SuperBiasedMan只要代码有错误,CR就不谈这个话题。@SimonAndréForsberg我想建议在代码运行时从哪里获得更多反馈,由于询问者通常只是希望得到脚本方面的帮助。这只是未来的一个提示,很多时候,当解释器说您在第X行有缩进错误或无效语法时,错误实际上就在上面一行。正如错误所说,您的缩进是错误的。
else
前面的
break
不能处于缩进级别。这是为了尝试打破外部的
while
循环吗?您可能会得到更多的帮助。这是网络中的另一个网站,人们希望改进他们的代码,并获得更有经验的程序员的反馈。@SuperBiasedMan只要代码有错误,CR就不谈这个话题。@SimonAndréForsberg我想建议在代码运行时从哪里获得更多反馈,由于询问者通常只是希望得到脚本方面的帮助。这只是未来的一个提示,很多时候,当解释器说您在第X行有缩进错误或无效语法时,错误实际上就在上面一行。正如错误所说,您的缩进是错误的。
else
前面的
break
不能处于缩进级别。这是为了尝试打破外部的
while
循环吗?您可能会得到更多的帮助。这是网络中的另一个网站,人们希望改进他们的代码,并获得更有经验的程序员的反馈。@SuperBiasedMan只要代码有错误,CR就不谈这个话题。@SimonAndréForsberg我想建议在代码运行时从哪里获得更多反馈,因为提问者通常只是希望得到脚本方面的帮助。这只是未来的一个提示,很多时候,当解释器说您在X行有缩进错误或无效语法时,错误实际上就在上面的一行。我认为如果满足if语句,就有可能中断整个外部while循环。这可能吗?您必须在每个循环中定义一个break语句。否则,您可以引发一个并在外部循环中“捕获”它。我认为如果满足if语句,则可以中断整个外部while循环。这可能吗?您必须在每个循环中定义一个break语句。否则,您可以引发一个并在外部循环中“捕获”它。我认为如果满足if语句,则可以中断整个外部while循环。这可能吗?您必须在每个循环中定义一个break语句。否则,您可以引发一个并在外部循环中“捕获”它。我认为如果满足if语句,则可以中断整个外部while循环。这可能吗?您必须在每个循环中定义一个break语句。否则,您可以在外部循环中引发并“捕获”它