2020-07-21 迷你实操1(条件判断、循环、格式化字符串)

思考:一个项目一般是怎么完成的?程序员是如何思考和解决问题的?

*问题拆解——很重要的能力

【人机PK小游戏】

当项目被清晰地拆解后,剩下的就是去逐步执行,也就是重复“执行→遇到问题→解决问题→继续执行”这个循环的过程。

【版本1.0:自定属性,人工PK】

1.规定并显示出玩家和敌人的属性 2.双方同时互相攻击,血量根据对方的攻击力扣除 3.若有一方血量小于等于0,游戏结束。

*“计时器”:

【版本2.0:随机属性,自动PK】

1.随机生成玩家和敌人的属性 2.显示玩家和敌人的属性 3.PK过程展示;自动攻击扣血

*随机生成数字

在某度上搜索“Python 随机生成数字”(有条件的优先使用Google,搜索结果会更干净)。

随机生成整数:

其他生成随机数的方式:python生成常用随机数字_pengge0433的博客-CSDN博客_python 随机生成数字


【版本3.0:打印战果,三局两胜】

1.打印战果:每局战斗后,根据胜负平的结果打印出不同的提示;2.三局两胜:双方战斗三局,胜率高的为最终赢家。

(1)来个三局

提示:1.想清楚哪些代码要嵌套到for循环里,即一局战斗里包括什么信息。确定了for写在哪里之后,一局战斗包含的所有信息都要缩进;2.细节也需要留意,如局与局之间要怎么区分开来(时间间隔&打印局数信息)

(2)判断结果

*player_victory = player_victory + 1 等同于 player_victory += 1

【格式化字符串】

我们可以把%想象成:图书馆里用来占位的一本书。先占一个位置,之后再填上实际的变量。举个例子:下面这两种写法是相同的。

格式符%后面有一个字母s,这是一个类型码,用来控制数据显示的类型。%s就表示先占一个字符串类型的位置。

其他常见的类型码:

一个小小的提示:%后面的类型码用什么,取决于你希望这个%占住的这个位置的数据以什么类型展示出来,如果你希望它以字符串形式展示,那就写%s,如果你希望它以整数形式展示,那就写%d。

选用了不同的类型码,打印出的结果却是一样,原因也已经在代码注释中写清楚了:因为整数8与字符串'8'的打印结果是一样的,所以选两种类型码都OK。但这种“都OK”的情况仅限于整数,对文字是行不通的:

这里的%s是不是都能换成%d?答案是“YES!”,因为这里的变量i,player_life,player_attack统统都是整数。

【课后练习】

练习目标:

我们会在项目1代码的基础上,添加一个新功能,同时练习循环和判断的知识。

练习要求:

新功能是:每盘(3局)游戏结束后,游戏会问我们是否要继续游戏,再加一盘。

我们可以选择再来一盘,也可以选择退出游戏。

要达成目标,有两种方案:

1.while True+break:

开启一个无限循环,设定跳出条件。

当得到肯定回复时,继续运行;当得到否定回复时,运行break,停止循环,退出游戏。

2.while 变量名+变量名的布尔值判断:

在开头设某变量的布尔值为True,input后开启判断变量的布尔值是否改变。

当得到肯定回复时,while True,继续运行;当得到否定回复时,while False,停止循环,退出游戏。

完整代码(注意缩进):

你可能感兴趣的:(2020-07-21 迷你实操1(条件判断、循环、格式化字符串))