鱼C论坛

 找回密码
 立即注册
查看: 3354|回复: 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.第一次猜错了,没有提示,是猜大了还是猜小了
改进后的代码如下:
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:
                temp = input('哎呀,猜错了,重新输入:')
                guess = int(temp)
                if guess == secret:
                        print('我草,你是小甲鱼心里的蛔虫吗?')
                        print('哼,猜对了也没有奖励!')
                        break 
                else:
                        if guess > secret:
                                print('哥,大了大了~~~')
                        else:
                                print('嘿,小了,小了~~~')
                        times += 1
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会进行四次输入的。

你有更好的建议吗?


import random

print('----我爱鱼C工作室-----')
secret = random.randint(1, 10)
print('随机数为 %s:' % secret)
print('你只有三次机会猜测小甲鱼心里想哪个数字哦!')
temp = input('第 1 次猜一下小甲鱼现在心里想的是哪个数字:')
guess = int(temp)
times = 1
if guess == secret:
        print('我草,你是小甲鱼心里的蛔虫吗?')
        print('哼,猜对了也没有奖励!')
else:
        while times <= 3:
                # temp = input('哎呀,猜错了,重新输入:')
                guess = int(temp)
                if guess == secret:
                        print('我草,你是小甲鱼心里的蛔虫吗?')
                        print('哼,猜对了也没有奖励!')
                        break
                else:
                        if guess > secret:
                                print('哥,大了大了~~~')
                        else:
                                print('嘿,小了,小了~~~')
                        times += 1
                        temp = input('第 %s 次猜一下小甲鱼现在心里想的是哪个数字:' % str(times))
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, 2025-1-15 20:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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