马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
001 代码 Shut up & Code
Game2.0.py:""" 用Python设计第一个游戏 """
counts = 3
while counts > 0:
temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
break
else:
if guess < 8:
print("小啦~")
else:
print("大啦~")
counts = counts - 1
print("游戏结束,不玩啦^_^")
002 改进方向 Changes
- 当用户猜错的时候,程序应该给出提示
- 应该提供更多机会给用户
- 每次运行程序,答案应该是随机的
003 修改代码 Changes
第一个问题:
这里很好解决,我们已经了解了if-else结构,这里只需要把else分支下的print()删掉,换上一个if-else分支循环,判断用户输入的数字是大了还是小了就可以了。
修改之后的代码:""" 用Python设计第一个游戏 """
temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess < 8:
print("小啦~")
else:
print("大啦~")
print("游戏结束,不玩啦^_^")
可以看到,python是利用了层层缩进来显示分支循环的层级的,这就是为什么说“缩进是Python的灵魂”。
第二个问题:
想要改进这个问题,就不得不扯到循环结构这里先介绍while循环。
while循环的语法规则是这样的:while 条件:
如果条件为真(True)执行这里的语句
举个例子,在Python的交互模式中输入while 1 < 2:
print("ilovefishc.com")
然后电脑就开始刷屏了……
这时我们可以按下CTRL+C终止程序。
再来Alt+P看看我们的代码,可以看到,1 < 2 这个条件小孩子都知道是对的(也就是结果为True),计算机一直看一直知道结果为True,所以就不停的执行循环里面的操作,自然就形成了“刷屏”这一壮观的景象。
这时,我们可以手动的让这个条件从True变为False,也就是使用变量!
这样我们重新编写一下测试代码counts = 3
while counts > 0:
print("ilovefishc.com")
counts = counts - 1
运行一下,可以看到,屏幕上只打印了3行ilovefishc.com,因为每执行一次循环,counts就减去1,当全部减去,counts = 0 时,条件不符合,也就是为False,所以跳出了循环。
同理,我们的小游戏也可以这样修改:""" 用Python设计第一个游戏 """
counts = 3
while counts > 0:
temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
else:
if guess < 8:
print("小啦~")
else:
print("大啦~")
counts = counts - 1
print("游戏结束,不玩啦^_^")
另外,再次注意一下缩进问题,这个counts = counts - 1要与最内层的if-else语句对齐,否则就会出错。
这时还会有一个问题:如果用户猜对了,程序又会陷入一直为True的状态。
我们也可以把counts = counts - 1减掉一个缩进,这样无论猜对猜错都会执行counts = counts - 1
这时候就需要用到一个新的指令:break语句!
现在交互模式下做个测试:counts = 3
while counts > 0:
print("ilovefishc.com")
counts = counts - 1
break
执行代码,只打印了一个ilovefishc.com,因为我们加上了一个break语句。
在while循环中用break语句,意思就是“不管三七二十一往外跳,跳出循环体”
这样我们就可以这样改:""" 用Python设计第一个游戏 """
counts = 3
while counts > 0:
temp = input("不妨猜一下小甲鱼心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
print("你是小甲鱼心里的蛔虫吗?!")
print("哼,猜中了也没有奖励!")
break
else:
if guess < 8:
print("小啦~")
else:
print("大啦~")
counts = counts - 1
print("游戏结束,不玩啦^_^")
这样我们在执行到用户输入正确答案时,就会跳出循环体了。
004 思维导图 Picture
希望能够帮到大家
PS:最近事情有点多,可能更新地会慢一点,请见谅 |