print (“STAGE ONE”)
my_num = 7
guess = input(“tell me the secret number, then only I will tell you password and file name of next stage”)
if guess == my_num:
print (“great, you found it! the file name is STAGE TWO and password is -I Dont Know”)
else:
print (“nope, its not the password”)
please tell me whats wrong here, if I type 7 it displays “nope, its not the password”
Thank you very much @patrickd314 for your solution.
Only one more question, What the difference between input() and raw_input()?
Waiting for your response.
for turn in range(4):
guess_row = int(input("Guess Row: "))
guess_col = int(input("Guess Col: "))
if guess_row == ship_row and guess_col == ship_col:
print (“Congratulations! You sunk my battleship!”)
break
else:
if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
print (“Oops, that’s not even in the ocean.”)
elif(board[guess_row][guess_col] == “X”):
print (“You guessed that one already.”)
else:
print (“You missed my battleship!”)
board[guess_row][guess_col] = “X”
Hi, @rachitmujmer
Please post your code so that the indentations are apparent, thus making it easy to read, and also possible to copy, paste and test. Do so by making use of the </> icon that appears in the menu bar that appears at the top of the text box when you begin to type.
@patrickd314 sorry for inconvenience you faced, this is my code:
from random import randint
board = []
for x in range(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)
ship_row = random_row(board)
ship_col = random_col(board)
print ship_row
print ship_col
for turn in range(4):
# Everything from here on should go in your for loop!
# Be sure to indent four spaces!
guess_row = int(raw_input("Guess Row: "))
guess_col = int(raw_input("Guess Col: "))
if guess_row == ship_row and guess_col == ship_col:
print "Congratulations! You sunk my battleship!"
break
else:
if (guess_row < 0 or guess_row > 4) or (guess_col < 0 or guess_col > 4):
print "Oops, that's not even in the ocean."
elif(board[guess_row][guess_col] == "X"):
print "You guessed that one already."
else:
print "You missed my battleship!"
board[guess_row][guess_col] = "X"
# Print (turn + 1) here!
print "Turn", turn + 1
print_board(board)
if turn == 3:
print ("Game Over")
@stetim94 ok, I have made that changes but it gives me this error:
Traceback (most recent call last):
File “E:\Notepad++\Battleship!!.py”, line 12, in
print_board(board)
File “E:\Notepad++\Battleship!!.py”, line 10, in print_board
print (" ").join(row)
AttributeError: ‘NoneType’ object has no attribute ‘join’
The problem is that the interpreter thinks that you are trying to execute the statement print(" "), and then use the return value from print(), which is None, with join().
Just enclose the entire argument of print() within parentheses.