当前位置: 首页 > news >正文

Python 入门教程 12 ---- Battleship!


第一节

1 介绍了list的一种方法board.append(["O"] * 5),是把'O'这个元素复制5遍

2 练习:利用这个方法,使得空列表board为一个5*5的矩阵,元素值为O

board = []
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)

第二节

1 通过第一节的学习我们知道,5*5的矩阵就是一个二维的列表

2 我们可以通过for循环来打印二维列表的每一行

3 练习:通过for循环把二维列表的每一行打印出来


board = []
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)

def print_board(board):
    for row in board:
        print row;

第三节

1 介绍了Python中的一种方法join

2 join方法用来连接字符串,比如

li = ['my','name','is','bob'] 
print ' '.join(li) 
>>'my name is bob' 

3 练习:把第二节中的board二维列表中的每一行,利用join方法使得每一个O之间都有一个空格

board = []
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)
board.append(["O"]*5)

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

第四节

1 首先介绍了Python中产生一个随机数的方法,我们必须要从random里面导出randint,然后利用randint(x,y)产生[x,y]之间的随机数

# generate a random integer between x and y
from random import randint 
randint(x , y)


2 练习:利用randint(x,y)方法随机产生两个行和列的下标,并且这两个值要小于行和列的长度
# generate a random integer between x and y
from random import randint 

board = []

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

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

# Add your code below!
def random_row(board):
    x = randint(0 , len(board)-1)
    return x

def random_col(board):
    x = randint(0 , len(board)-1)
    return x

第五节

1 首先回顾了Python的方法raw_input(),用来表示标准的输入,但是返回的值都是认为是字符串

2 接着介绍了Python的另外一个函数int(),表示把值强制转化为整数,比如int(raw_input())就是把输出的字符串转化成整数

3 练习:利用int()和raw_input()函数得到两个数,保存到变量ship_row和ship_col中

from random import randint

board = []

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

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

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)

# Add your code below!
guess_row = int(raw_input("Guess Row:"))
guess_col = int(raw_input("Guess Col:"))


相关文章:

  • 【Deep Learning学习笔记】Learning meanings for sentences
  • linux dmesg命令学习
  • 职业规划随想
  • HDU 2485 Destroying the bus stations (IDA*+ BFS)
  • 黑马程序员_常用类(System.Math,Calendar,Date,Runtime)
  • 转载 eoe 大神整理好的 android 开源项目
  • (3)选择元素——(17)练习(Exercises)
  • [week4]每周总结与工作计划
  • 每天一道算法_1_放苹果
  • CSS3之渐变Gradient
  • Linux下几个常用的快捷键,真的很实用
  • Python 入门教程 13 ---- Loops
  • 软件开发中的资源控制问题学习
  • linux mount命令学习
  • TCP头分析+面试题
  • ----------
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • ECS应用管理最佳实践
  • gcc介绍及安装
  • IndexedDB
  • java多线程
  • js继承的实现方法
  • js面向对象
  • JS实现简单的MVC模式开发小游戏
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • ng6--错误信息小结(持续更新)
  • PV统计优化设计
  • rc-form之最单纯情况
  • unity如何实现一个固定宽度的orthagraphic相机
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 高度不固定时垂直居中
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 基于webpack 的 vue 多页架构
  • 基于web的全景—— Pannellum小试
  • 看域名解析域名安全对SEO的影响
  • 为什么要用IPython/Jupyter?
  • 小而合理的前端理论:rscss和rsjs
  • 走向全栈之MongoDB的使用
  • 移动端高清、多屏适配方案
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #162 (Div. 2)
  • #define与typedef区别
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $.ajax()方法详解
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (安卓)跳转应用市场APP详情页的方式
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (待修改)PyG安装步骤
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (转)平衡树
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .Net CoreRabbitMQ消息存储可靠机制
  • .net 后台导出excel ,word