python battleship_codecademy_python_Battleship!
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!相关推荐
- Github配置(git+vscode+python+jupyter)
①下载git 打开 git bash 工具的用户名和密码存储 $ git config --global user.name "Your Name" $ git config -- ...
- 【实验楼】python简明教程
①终端输入python进入 欣赏完自己的杰作后,按 Ctrl + D 输入一个 EOF 字符来退出解释器,你也可以键入 exit() 来退出解释器. ②vim键盘快捷功能分布 ③这里需要注意如果程序中 ...
- 【Kaggle Learn】Python 5-8
五. Booleans and Conditionals Using booleans for branching logic x = True print(x) print(type(x))''' ...
- 【Kaggle Learn】Python 1-4
[Kaggle Learn]Python https://www.kaggle.com/learn/python 一. Hello, Python A quick introduction to Py ...
- 使用python愉快地做高数线代题目~
今天接触到了python,发现真是极易上手啊!对比c语言是什么鬼东西= = 诶,等下,看完教学文章发现TA在下面写了这句话 如果做了前面的内容你可能已被吸引了,觉得c语言真的是废材! 不...不是的. ...
- python 位运算与等号_Python 运算符
和大多数语言一样,Python也有很多运算符,并且运算符跟其他语言的运算符大同小异接下来一一介绍: 算术运算符: 运算符描述实例 +加 - 两个对象相加a+b的输出结果是30 -减 - 得到复数或者一 ...
- python减小内存占用_如何将Python内存占用缩小20倍?
当程序执行过程中RAM中有大量对象处于活动状态时,可能会出现内存问题,特别是在对可用内存总量有限制的情况下. 下面概述了一些减小对象大小的方法,这些方法可以显著减少纯Python程序所需的RAM数量. ...
- python中排序英文单词怎么写_Python实现对文件进行单词划分并去重排序操作示例...
本文实例讲述了Python实现对文件进行单词划分并去重排序操作.,具体如下: 文件名:test1.txt 文件内容: But soft what light through yonder window ...
- python程序如何执行死刑图片_如何判断对象已死
已死的对象就是不可能被任何途径使用的对象,有以下几种方法判断一个对象是否已经死了: 引用计数 给对象添加一个引用计数器,每当有一个地方引用他,计算器就加 1:当引用失效时,计数器减 1:任何时刻计数器 ...
最新文章
- AI 一分钟 | 谷歌发布72量子比特处理器,或将为机器学习应用提供加速;百度已经发起对景驰撤诉,但不会对王劲撤诉
- 如果有一天程序员再也不忙了
- 程序员的自由,不只在那一寸领地!
- 二进制在计算机电路中得到广泛的应用,电子技术与单片机的发展应用2喜欢就下吧(全文完整版)...
- 解决matplotlib中文乱码问题
- .Net Core中使用ref和Spanamp;lt;Tamp;gt;提高程序性能
- 狼人杀服务器紧急维护中,狼人杀最可怕的武器是那张嘴?禁言长老:你已被管理员禁言一天!...
- android textview 白色,android – AutoCompleteTextview默认情况下,颜色设置为白色
- python图像下采样_[Python图像处理]十二.图像向下取样和向上取样
- 数据结构之图的基本操作
- Spring Cloud 各个模块功能简介
- 安卓模拟器切换横屏之后怎么返回竖屏
- python之路 jQuery学习笔记
- iPhone手机怎么投影到MacPro上
- matlab里怎么计算期望,§7.4.2 利用MATLAB计算随机变量的期望和方差.pdf
- Spring boot快速开发Rest服务
- 在html使用wow,让你的网页有点动画效果
- 微信、支付宝付款码规则
- C语言实现CRC32算法
- 创意黑板粉笔字效果PPT模板
热门文章
- 最简单的基于FFmpeg的AVfilter的例子-修正版
- 身份证识别——iOS端实现身份证检测
- win10打开程序响应很慢_小程序商城打开加载很慢?你上传的图片是不是太大了,压缩一下吧!...
- 如何在Rancher 2.2 Preview2上部署和管理多K8s集群应用 1
- ​linux中使用文本工具截取ip 的几种方法
- LNMP架构之环境搭建
- UML--9种图及关系
- Spring Boot 构建多租户 SaaS 平台核心技术指南
- 震惊!原来这才是Kafka的“真面目”!
- 移动互联环境下的流程管理