鱼C论坛

 找回密码
 立即注册
查看: 2396|回复: 4

[技术交流] 《零基础入门学习Python》 004改进我们的小游戏

[复制链接]
发表于 2017-10-25 21:28:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 长脸哥哥 于 2017-11-24 14:37 编辑

嘀~迟到卡~

1. 课前准备

(1)打开之前写好的“文字小游戏.py”
(2)课件下载:http://bbs.fishc.com/thread-38067-1-1.html

2. 学习笔记

(1)此次文字小游戏的改进点:
                猜错的时候应该给一些提示
                应该有多次猜测机会
                每次运行程序答案都是随机的
(2)Python的比较操作符(图片来源:小甲鱼 004改进我们的小游戏 PPT):

Python的比较操作符

Python的比较操作符

(3)空格不会影响程序的运行,但是会美观很多
(4)判断正确会返回True,错误会返回False
(5)Python的条件分支语法:
                if 条件:
                        条件为真(True)执行的操作
                else:
                        条件为假(False)执行的操作
(6)Python的while循环语法:
                while 条件:
                        条件为真(True)执行的操作
(7)and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值
(8)and两边都为True结果为True,两边一真一假不一样与两边均为False结果为False
(9)每次写的程序都是一个独立的模块
(10)使用import命令导入模块
(11)random模块中的randint用于随机生成整型
(12)调用一个模块的某一函数用:模块名.函数名 来表示,如:random.randint(1,10)
(13)今天所学BIF:random.randint()用于生成随机整型,括号内为范围

3. 课堂代码

(1)比较操作符训练:
  1. 1 < 3
复制代码
  1. 1 > 3
复制代码
  1. 1 == 1
复制代码
  1. 1 == 1
复制代码
  1. 1 != 2
复制代码
  1. 1 != 1
复制代码

(2)修改可判断大小:
  1. print("-------------------我爱鱼C工作室----------------")
  2. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  3. guess = int(temp)
  4. if guess == 8:
  5.     print("我草,你是小甲鱼心里的蛔虫吗?!")
  6.     print("哼,猜中了也没有奖励!")
  7. else:
  8.     if guess > 8:
  9.         print("哥,大了大了~~~")
  10.     else:
  11.         print("嘿,小了,小了~~~")
  12. print("游戏结束,不玩啦^_^")
复制代码

(3)修改可判断的次数:
  1. print("-------------------我爱鱼C工作室----------------")
  2. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  3. guess = int(temp)
  4. while guess !=8:
  5.     temp = input("哎呀,猜错了,请重新输入吧:")
  6.     guess = int(temp)
  7.     if guess == 8:
  8.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  9.         print("哼,猜中了也没有奖励!")
  10.     else:
  11.         if guess > 8:
  12.             print("哥,大了大了~~~")
  13.         else:
  14.             print("嘿,小了,小了~~~")
  15. print("游戏结束,不玩啦^_^")
复制代码

(4)修改生成随机数字:
  1. import random
  2. secret = random.randint(1,10)
  3. print("-------------------我爱鱼C工作室----------------")
  4. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  5. guess = int(temp)
  6. while guess !=secret:
  7.     temp = input("哎呀,猜错了,请重新输入吧:")
  8.     guess = int(temp)
  9.     if guess == secret:
  10.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  11.         print("哼,猜中了也没有奖励!")
  12.     else:
  13.         if guess > secret:
  14.             print("哥,大了大了~~~")
  15.         else:
  16.             print("嘿,小了,小了~~~")
  17. print("游戏结束,不玩啦^_^")
复制代码

4. 课后作业

4.1 测试题

(0)请问以下代码会打印多少次“我爱鱼C!”
  1. while 'C':
  2.     print('我爱鱼C!')
复制代码
答:无数次(Ctrl+C强制结束死循环)

(1)请问以下代码会打印多少次“我爱鱼C!”
  1. i = 10
  2. while i:
  3.     print('我爱鱼C!')
  4.     i = i - 1
复制代码
答:10次

(2)请写出与 10 < cost < 50 等价的表达式
答:0 < cost-10 < 40 ……(10<cost)and(cost<50)

(3)Python3中,一行可以书写多个语句吗?
答:可以,用分号分隔开即可,比如:
  1. a=5;print(a+1)
复制代码

(4)Python3中,一个语句可以分成多行书写吗?
答:可以,利用括号括起来即可,比如:
  1. a=(5
  2. +1)
  3. print(a+1)
复制代码
还可以利用反斜杠,比如:
  1. >>> 3 > 4 and \
  2.   1 < 2
复制代码

(5)请问Python的 and 操作符和C语言的 && 操作符有何不同?【该题针对有C或C++基础的朋友】
答:如图:
03334218jbv37jz0hzhbr8.png
VS
0333505vv5bwv05igtvz8u.png

(6)听说过“短路逻辑( short-circuit logic)”吗?
答:编程语言常用的逻辑:
                        if a and b:#如果a是false,那么跳过b的判断,结果直接false
                        if a or b:#如果a为true,那么跳过b的判断,直接true

4.2 动动手

(0)完善第二个改进要求(为用户提供三次尝试机会,机会用完或者用户猜中答案均退出循环)并改进视频中小甲鱼的代码
答:代码如下:
  1. import random
  2. secret = random.randint(1,10)
  3. print("-------------------我爱鱼C工作室----------------")
  4. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  5. guess = int(temp)
  6. i = 2
  7. while guess !=secret and i > 0 :
  8.     if guess > secret:
  9.         print("哥,大了大了~~~")
  10.     else:
  11.         print("嘿,小了,小了~~~")
  12.     temp = input("哎呀,猜错了,请重新输入吧:")
  13.     guess = int(temp)
  14.     i = i - 1
  15.     if guess == secret:
  16.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  17.         print("哼,猜中了也没有奖励!")
  18. print("游戏结束,不玩啦^_^")
复制代码

(1)尝试写代码实现以下截图功能:
033003o0n7az822co10141.png
答:代码如下:
  1. temp=int(input("请输入一个整数:"))
  2. i=0
  3. while i != temp:
  4.     i=i+1
  5.     print(i)
复制代码

(2)尝试写代码实现以下截图功能:
033020k3eoeyvppljjyyp1.png
答:代码如下:
  1. temp=int(input("请输入一个整数:"))
  2. i=temp
  3. while i > 0:
  4.     print(" "*(i-1) +"*"*i)
  5.     i=i-1
复制代码

(3)请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
答:while与if的用法,如何导入模块,使用模块内的函数,逻辑操作符的使用,空格的使用

4.3 参考答案

鱼哥的参考答案:http://bbs.fishc.com/thread-37006-1-1.html

  下车~



本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-23 19:52:07 | 显示全部楼层
老哥, 感觉你的的代码牛逼啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-1-4 20:02:32 | 显示全部楼层
夏夜星空 发表于 2017-12-23 19:52
老哥, 感觉你的的代码牛逼啊!

大佬嘴下留情啊,我刚学,错误很多 - -il
话说因为一些事情暂时把python学习又给放下了,没想到收到了回复,很开心。
大佬带我飞啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-16 10:14:16 | 显示全部楼层
我是小白一个,还没你学的好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 10:57:02 | 显示全部楼层
大佬求带啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-16 12:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表