鱼C论坛

 找回密码
 立即注册
查看: 2989|回复: 13

[已解决]关于Python的i += 1报错问题请教

[复制链接]
发表于 2017-12-6 13:27:21 | 显示全部楼层 |阅读模式

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

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

x
之前看了老师的004改进我们的小游戏视频,可能有的朋友没有看,这里主要讨论一下,为什么我这边的限制循环次数的命令报错了
print ("------------First Blood------------")
temp = input ("猜你妹:")
guess = int(temp)

while guess != 8 and i<3:
        if guess == 8:
            print ("对了")
        else:
            if guess >8:
                print ("大了")
                temp = input ("猜你妹:")
                guess = int(temp)
            else:
                print ("小了")
                temp = input ("猜你妹:")
                guess = int(temp)
         i += 1
print ("Over")

就这个很简单的代码   我是初学的,  最开始尝试了i++,报错,后来百度了一下,知道Python不存在i++的说法, 可以使用i+=1,我用了这个后,还是提示报错,下面是截图,大家看看是什么问题?
TIM图片20171206132545.png
最佳答案
2017-12-6 13:32:30
缩进的问题,目测是对齐的,其实并没有
请用tab键帮忙准确缩进
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-12-6 13:29:54 | 显示全部楼层
抱歉  之前是有i=1的声明的,我调试的时候  删了   我重新发一下
print ("------------First Blood------------")
temp = input ("猜你妹:")
guess = int(temp)
i=1
while guess != 8 and i<3:
        if guess == 8:
            print ("对了")
        else:
            if guess >8:
                print ("大了")
                temp = input ("猜你妹:")
                guess = int(temp)
            else:
                print ("小了")
                temp = input ("猜你妹:")
                guess = int(temp)
         i += 1
print ("Over")
TIM截图20171206132917.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 13:30:38 | 显示全部楼层
你这个 i 是不是没有赋值啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 13:32:30 | 显示全部楼层    本楼为最佳答案   
缩进的问题,目测是对齐的,其实并没有
请用tab键帮忙准确缩进
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 13:32:44 | 显示全部楼层
还有i += 1这一行是错误的缩进
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-12-6 13:50:50 | 显示全部楼层
在 i +=1 这一行的i前面多了个空格
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 1

使用道具 举报

发表于 2017-12-6 13:54:05 | 显示全部楼层
我觉得你这代码逻辑都有问题,你的while里面要满足 i!=8才能进入,同时下面又是 i==8,这就说明 if里面的 i==8永远不可能执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 13:54:29 | 显示全部楼层
说错了,是guess
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-6 14:05:32 | 显示全部楼层

是的,  这个if guess=8  确实一直都不会执行下去,   这个是之前的课程里面改的,  目的就是让你猜黑盒里面的数字是多少   如果输入8   循环就不会执行,  说明猜对了,   当然从最终结果上来说, 运行下来是没问题,  但是程序本身确实是逻辑结构问题了,  多谢提醒!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-6 14:08:00 | 显示全部楼层
°蓝鲤歌蓝 发表于 2017-12-6 13:32
还有i += 1这一行是错误的缩进

多谢,多谢, 按照最先回复原则,  选择4楼为正确答案, 个人是初学者,谢谢大佬指点!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-6 14:08:33 | 显示全部楼层
首先第十七行代码的缩进不对,i += 1这行代码要么应该在第一个else的代码块中,(PS:python这门语言通过缩进区分代码块,一般是四个空格,最好不要用tab键,有可能会出一些莫名其妙的错误。)最后,想问下题主,第五行代码定义了guess!=8,那么 接下来的判断语句if guess == 8就没有用了的嘛,不知限制循环次数为什么要加一个guess!=8?我稍微改了一下代码,不知是否满足题主的目标功能。
print ("------------First Blood------------")
guess = int(input ("猜你妹:"))
i=1
while i<3:
        if guess == 8:
            print ("对了")
        else:
            if guess >8:
                print ("大了")
                guess = int(input ("猜你妹:"))
            else:
                print ("小了")
                guess = int(input ("猜你妹:"))
            i += 1
print ("Over,对不起,请再接再厉。")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-12-6 14:08:40 | 显示全部楼层
李成特 发表于 2017-12-6 13:50
在 i +=1 这一行的i前面多了个空格

多谢,多谢, 按照最先回复原则,  选择4楼为正确答案, 个人是初学者,谢谢大佬指点!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-6 14:11:06 | 显示全部楼层
所向故往 发表于 2017-12-6 14:08
首先第十七行代码的缩进不对,i += 1这行代码要么应该在第一个else的代码块中,(PS:python这门语言通过缩 ...

是的,  这个if guess ==8  确实一直都不会执行下去,   这个是之前的课程里面改的,  目的就是让你猜黑盒里面的数字是多少   如果输入8   循环就不会执行,  说明猜对了,   当然从最终结果上来说, 运行下来是没问题,  但是程序本身确实是逻辑结构问题了,  多谢提醒!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-6 14:13:50 | 显示全部楼层
目前,修复了缩进问题后   还是原来的代码  程序运行结果达到期望值,当然 ,这有的代码确实出现了逻辑结构问题,多谢各位大佬指点,谢谢!
TIM截图20171206141224.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-17 04:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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