from random import randint #用来产生随机数

board = []

for x in range(5):

board.append(["O"] * 5) # ['O'] * 5 即['O','O','O','O','O'] ,对board列表append5次这个O列表,执行完之后board就变成了一个5x5的列表

def print_board(board):

for row in board:

print " ".join(row) #the .join method uses the string to combine the items in the list. 打印出来效果就是O O O O O

print "Let's play Battleship!"

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

# Everything from here on should go in your for loop!

# Be sure to indent four spaces!

for turn in range(4):

print 'Turn',turn + 1

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,停止guess

break

else:

print turn + 1 #如果猜错,统计错误的次数,满4次则gameover

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." #如果该位置已经是"X",则表明已经猜过,提示you guessed that one already

else:

print "You missed my battleship!" #没有超出范围,则将所猜的位置变为"X"

board[guess_row][guess_col] = "X"

if (turn == 3):

print "Game Over" #错误满4次

print_board(board) #每轮循环结束之后都打印一下board,更新一下值为"X"的位置

python battleship_codecademy_python_Battleship!相关推荐

  1. Github配置(git+vscode+python+jupyter)

    ①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...

  2. 【实验楼】python简明教程

    ①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...

  3. 【Kaggle Learn】Python 5-8

    五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...

  4. 【Kaggle Learn】Python 1-4

    [Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...

  5. 使用python愉快地做高数线代题目~

    今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...

  6. python 位运算与等号_Python 运算符

    和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...

  7. python减小内存占用_如何将Python内存占用缩小20倍?

    当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...

  8. python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...

    本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...

  9. python程序如何执行死刑图片_如何判断对象已死

    已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...

最新文章

  1. AI 一分钟 | 谷歌发布72量子比特处理器,或将为机器学习应用提供加速;百度已经发起对景驰撤诉,但不会对王劲撤诉
  2. 如果有一天程序员再也不忙了
  3. 程序员的自由,不只在那一寸领地!
  4. 二进制在计算机电路中得到广泛的应用,电子技术与单片机的发展应用2喜欢就下吧(全文完整版)...
  5. 解决matplotlib中文乱码问题
  6. .Net Core中使用ref和Spanamp;lt;Tamp;gt;提高程序性能
  7. 狼人杀服务器紧急维护中,狼人杀最可怕的武器是那张嘴?禁言长老:你已被管理员禁言一天!...
  8. android textview 白色,android – AutoCompleteTextview默认情况下,颜色设置为白色
  9. python图像下采样_[Python图像处理]十二.图像向下取样和向上取样
  10. 数据结构之图的基本操作
  11. Spring Cloud 各个模块功能简介
  12. 安卓模拟器切换横屏之后怎么返回竖屏
  13. python之路 jQuery学习笔记
  14. iPhone手机怎么投影到MacPro上
  15. matlab里怎么计算期望,§7.4.2 利用MATLAB计算随机变量的期望和方差.pdf
  16. Spring boot快速开发Rest服务
  17. 在html使用wow,让你的网页有点动画效果
  18. 微信、支付宝付款码规则
  19. C语言实现CRC32算法
  20. 创意黑板粉笔字效果PPT模板

热门文章

  1. 最简单的基于FFmpeg的AVfilter的例子-修正版
  2. 身份证识别——iOS端实现身份证检测
  3. win10打开程序响应很慢_小程序商城打开加载很慢?你上传的图片是不是太大了,压缩一下吧!...
  4. 如何在Rancher 2.2 Preview2上部署和管理多K8s集群应用 1
  5. ​linux中使用文本工具截取ip 的几种方法
  6. LNMP架构之环境搭建
  7. UML--9种图及关系
  8. Spring Boot 构建多租户 SaaS 平台核心技术指南
  9. 震惊!原来这才是Kafka的“真面目”!
  10. 移动互联环境下的流程管理