elif语句不会在Python中运行

时间:2017-04-30 00:43:45

标签: python-2.7 if-statement

这是我的代码。从codeacademy实验室运行时,它一直说的最后一个ELIF语句是错误的 - BATTLESHIP GAME EXERCISE!

from random import randint

    board = []
#
# All code functions here

    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 randint(0, len(board) - 1)

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

# All game variables for row and col guessing

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

# Prints the variable chosen randomly
    print ship_row
    print ship_col

#
    if guess_row == ship_row and guess_col == ship_col:
        print "Congratulations! You sank my battleship!"

本声明。 CODEACADEMY KEEPS说错,即使它运行

与此有什么关系?

    elif guess_row not in range(0, len(board)-1) or guess_col not in        
        range(0, len(board)-1):
         print "Oops, that's not even in the ocean"

# final else statement. Prints missed battleship msg 
# end of code   
    else:
        print "You missed my battleship!" # msg lost game
        board[guess_row][guess_col]="X"   # shows guess var
        print_board(board)    

# end of code. Last else statement.         

1 个答案:

答案 0 :(得分:0)

我不知道你是怎么做到的,因为python太空洞了。

也许就是这样但是codecademy允许你出于某种原因在他们的控制台中运行它,如果你在你的电脑上安装python来调用该文件它就不会运行。

from random import randint

board = []

# All code functions here

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 randint(0, len(board) - 1)

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

# All game variables for row and col guessing

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

# Prints the variable chosen randomly
print ship_row
print ship_col


if guess_row == ship_row and guess_col == ship_col:
    print "Congratulations! You sank my battleship!"

# THIS STATEMENT. CODEACADEMY KEEPS SAYING IS WRONG EVEN THOUGH IT 
# RUNS
# WHAT'S WRONG WITH IT?

elif guess_row != (0, len(board)-1) or guess_col != range(0, len(board)-1):
    print "Oops, that's not even in the ocean"