鱼C论坛

 找回密码
 立即注册
查看: 2593|回复: 10

想不通到底缩进到底哪里出问题了

[复制链接]
发表于 2021-5-7 16:48:34 | 显示全部楼层 |阅读模式
2鱼币
想不通下面的码为什么冒号后按确认健,系统自动换行的会有缩进问题
import random as r
        
legal_x = [0,10]
legal_y = [0,10]

class Turtle:
        def __init__(self):
                self.power = 100
                self.x = r.randint(legal_x[0],legal_x[1])
                self.y = r.randint(legal_y[0],legal_y[1])
        def move(self):
                new_x = self.x + r.choice([1,2,-1,-2])
                new_y = self.y + r.choice([1,2,-1,-2])

                if new_x < legal_x[0]:
                        self.x = legal_x[0] - (new_x - legal_x[0])
                elif new_x > legal_x[1]:
                        self.x = legal_x[1] - (new_x - legal_x[1])
                else:
                        self.x = new_x

                if new_y < legal_y[0]:
                        self.y = legal_y[0] - (new_y - legal_y[0])
                elif new_y > legal_y[1]:
                        
                        self.y = legal_y[1] - (new_y - legal_y[1])
                else:
                        self.y = new_y

                self.power -= 1

                return(self.x,self.y)

        def eat(self):
                self.power += 20
                if self.power > 100:
                        self.power = 100

class Fish:
        def __init__(self):
                self.x = r.randint(legal_x[0],legal_x[1])
                self.y = r.randint(legal_y[0],legal_y[1])
        def move(self):
                new_x = self.x + r.choice([1,-1])
                new_y = self.y + r.choice([1,-1])

                if new_x < legal_x[0]:
                        self.x = legal_x[0] - (new_x - legal_x[0])
                elif new_x > legal_x[1]:
                        self.x = legal_x[1] - (new_x - legal_x[1])
                else:
                        self.x = new_x

                if new_y < legal_y[0]:
                        self.y = legal_y[0] - (new_y - legal_y[0])
                elif new_y > legal_y[1]:
                        self.y = legal_y[1] - (new_y - legal_y[1])
                else:
                        self.y = new_y

                return(self.x,self.y)


turtle =Turtle()
fish = []
for i in range(10):
        new_fish = Fish()
        fish.append(new_fish)

while True:
        if not len(fish):
                print("鱼儿都吃完了,游戏结束!")
                break
        if not turtle.power:
                print("乌龟体力耗尽,挂掉了!")
                break
        
        pos = turtle.move()

        
        for each_fish in fish[:]:
                if each_fish.move == pos:
                        turtle.eat()
                        fish.remove(each_fish)
                        print("有一条鱼儿被吃掉了...")


明明都跟小甲鱼的答案一样的,为什么每次运行就只是乌龟挂掉了呢?
换行都是冒号后按的确认健自动换行的,也没Tab空格混用


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

使用道具 举报

发表于 2021-5-7 16:55:50 From FishC Mobile | 显示全部楼层
报错信息是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-7 17:00:48 | 显示全部楼层

没显示报错,就是永远都是打印出  乌龟体力耗尽,挂掉了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 17:34:31 | 显示全部楼层
会不会是一直执行move(),里面有个self.power -= 1, 那就秒减完了,就死了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-7 17:42:09 From FishC Mobile | 显示全部楼层
本帖最后由 小桥流水清无鱼 于 2021-5-7 17:52 编辑

为什么系统第7行开始,系统回车键是8个字符而不是4个了呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-7 17:53:09 From FishC Mobile | 显示全部楼层
YouCam 发表于 2021-5-7 17:34
会不会是一直执行move(),里面有个self.power -= 1, 那就秒减完了,就死了

那个没问题的哦,有定初始生命值100的,第八行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-7 18:08:52 From FishC Mobile | 显示全部楼层
D01EF31F-6826-45FA-90D1-BDB508E2B966.png
把for i in range(10)打后的换成小甲鱼的答案又正常了
但是他答案的回车缩进4个,我电脑的回车缩进是8个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 18:11:19 | 显示全部楼层
idle"智能"编译器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-5-7 18:21:00 From FishC Mobile | 显示全部楼层
南归 发表于 2021-5-7 18:11
idle"智能"编译器

我这回车缩进自动8个空格,是什么原因呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 19:07:23 | 显示全部楼层
小桥流水清无鱼 发表于 2021-5-7 18:21
我这回车缩进自动8个空格,是什么原因呢

开始尝试pycharm或者vscode吧, 用idle学习感觉意义不大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 21:18:41 | 显示全部楼层
TC_DHL 发表于 2021-5-7 19:07
开始尝试pycharm或者vscode吧, 用idle学习感觉意义不大

怎么说呢,大型开发比较方便,写惯之后,就有中。。比如一般pycharm导包按im后面提示就出来了,换到普通的编辑软件导包的时候就会想im什么来着,没有提示,好烦,想了好久,哦,是import
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 00:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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