鱼C论坛

 找回密码
 立即注册
查看: 3017|回复: 12

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

[复制链接]
发表于 2017-7-13 20:15:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 只为 于 2017-7-15 10:00 编辑

1.if... else...(根据用户输入的结果给相应的提示)
python 中的条件判断:if...elif...else


2.while循环:(实现多次输入)

python的逻辑运算符:and ,not, or
优先级顺序:not > and > or

小技巧:
1)如果多行在原有缩进基础上需要统一缩进时,选中按Tab键
2)如果多行在原有缩进基础上需要同时取消缩进,选中按Shift+Tab

3.random模块 (每次运行程序产生的结果是随机的)
randint() 返回一个随机整数
import random (导入模块)

注:每次写的这些程序都是一个模块。
提问:
python 中有没有do...while.. 循环
答:没有

4.程序可以的改进:
1.猜中了没有恭喜打印
2.第一次猜错了,没有提示,是猜大了还是猜小了
改进后的代码如下:

  1. import random

  2. print('----我爱鱼C工作室-----')
  3. secret = random.randint(1,10)
  4. print('随机数为 %s:' % secret)
  5. temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
  6. guess = int(temp)
  7. times = 1
  8. if guess == secret:
  9.         print('我草,你是小甲鱼心里的蛔虫吗?')
  10.         print('哼,猜对了也没有奖励!')
  11. else:
  12.         while times < 3:
  13.                 temp = input('哎呀,猜错了,重新输入:')
  14.                 guess = int(temp)
  15.                 if guess == secret:
  16.                         print('我草,你是小甲鱼心里的蛔虫吗?')
  17.                         print('哼,猜对了也没有奖励!')
  18.                         break
  19.                 else:
  20.                         if guess > secret:
  21.                                 print('哥,大了大了~~~')
  22.                         else:
  23.                                 print('嘿,小了,小了~~~')
  24.                         times += 1
  25. print('游戏结束,不玩啦……')
复制代码

评分

参与人数 2荣誉 +4 鱼币 +6 收起 理由
康小泡 + 2
小甲鱼 + 4 + 4 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2017-12-11 21:35:39 | 显示全部楼层
赞一个!逻辑思维很清晰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 20:11:29 | 显示全部楼层
齐梓梓 发表于 2017-12-11 21:35
赞一个!逻辑思维很清晰

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

使用道具 举报

发表于 2017-12-22 11:10:53 From FishC Mobile | 显示全部楼层
厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-12-25 22:11:26 | 显示全部楼层

你也可以呀,比我的代码还好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-27 23:03:10 | 显示全部楼层
19行break啥意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-28 11:04:47 | 显示全部楼层
实测了一下,楼主第一次输入错误依然没有提示输入数与随机数的大小比较提示,斗胆改了一下。

import random

print('----我爱鱼C工作室-----')
secret = random.randint(1,10)
print('随机数为 %s:' % secret)
temp = input('不妨猜一下小甲鱼现在心里想的是哪个数字:')
guess = int(temp)
times = 1
if guess == secret:
        print('我草,你是小甲鱼心里的蛔虫吗?')
        print('哼,猜对了也没有奖励!')
else:
        while times < 3:
                guess = int(temp)
                if guess == secret:
                        print('我草,你是小甲鱼心里的蛔虫吗?')
                        print('哼,猜对了也没有奖励!')
                        break
                else:
                        if guess > secret:
                                temp = input ('哥,大了大了~~~重新输入吧:')
                        else:
                                temp = input ('嘿,小了,小了~~~重新输入吧:')
                        times += 1
print('游戏结束,不玩啦……')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-3 20:30:14 | 显示全部楼层

break 结束这一层循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-3 20:35:37 | 显示全部楼层
lzpragon 发表于 2017-12-28 11:04
实测了一下,楼主第一次输入错误依然没有提示输入数与随机数的大小比较提示,斗胆改了一下。

import ran ...

没有看出来改动的,还有你用代码包起来,有格式的话,更好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-12 15:07:09 | 显示全部楼层
只为 发表于 2018-1-3 20:35
没有看出来改动的,还有你用代码包起来,有格式的话,更好

用楼主代码跑起来,第一次输入错误会是这样的

----我爱鱼C工作室-----
随机数为 6:
不妨猜一下小甲鱼现在心里想的是哪个数字:3
哎呀,猜错了,重新输入:

我改完的代码跑起来以后是这样的:

----我爱鱼C工作室-----
随机数为 4:
不妨猜一下小甲鱼现在心里想的是哪个数字:3
嘿,小了,小了~~~重新输入吧:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-17 11:05:28 | 显示全部楼层
lzpragon 发表于 2018-1-12 15:07
用楼主代码跑起来,第一次输入错误会是这样的

----我爱鱼C工作室-----

你好,我这样修改了下,感觉应该更好,但是还有个问题,就是最后一次输入正确的话,实际上是没有经过判断的;还有就是说是三次机会,小于等于3会进行四次输入的。

你有更好的建议吗?




  1. import random

  2. print('----我爱鱼C工作室-----')
  3. secret = random.randint(1, 10)
  4. print('随机数为 %s:' % secret)
  5. print('你只有三次机会猜测小甲鱼心里想哪个数字哦!')
  6. temp = input('第 1 次猜一下小甲鱼现在心里想的是哪个数字:')
  7. guess = int(temp)
  8. times = 1
  9. if guess == secret:
  10.         print('我草,你是小甲鱼心里的蛔虫吗?')
  11.         print('哼,猜对了也没有奖励!')
  12. else:
  13.         while times <= 3:
  14.                 # temp = input('哎呀,猜错了,重新输入:')
  15.                 guess = int(temp)
  16.                 if guess == secret:
  17.                         print('我草,你是小甲鱼心里的蛔虫吗?')
  18.                         print('哼,猜对了也没有奖励!')
  19.                         break
  20.                 else:
  21.                         if guess > secret:
  22.                                 print('哥,大了大了~~~')
  23.                         else:
  24.                                 print('嘿,小了,小了~~~')
  25.                         times += 1
  26.                         temp = input('第 %s 次猜一下小甲鱼现在心里想的是哪个数字:' % str(times))
  27. print('机会已经用完,游戏结束,不玩啦……')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-17 11:06:47 | 显示全部楼层
lzpragon 发表于 2017-12-28 11:04
实测了一下,楼主第一次输入错误依然没有提示输入数与随机数的大小比较提示,斗胆改了一下。

import ran ...

你这个最后的times += 1这句是不是有个缩进更好,否则即使猜测正确了,如果有机会的话,还会进行下一次输入的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-10 22:54:06 | 显示全部楼层
只为 发表于 2018-1-17 11:06
你这个最后的times += 1这句是不是有个缩进更好,否则即使猜测正确了,如果有机会的话,还会进行下一次输 ...

哈哈,还是你厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 06:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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