想不通到底缩进到底哪里出问题了
想不通下面的码为什么冒号后按确认健,系统自动换行的会有缩进问题import random as r
legal_x =
legal_y =
class Turtle:
def __init__(self):
self.power = 100
self.x = r.randint(legal_x,legal_x)
self.y = r.randint(legal_y,legal_y)
def move(self):
new_x = self.x + r.choice()
new_y = self.y + r.choice()
if new_x < legal_x:
self.x = legal_x - (new_x - legal_x)
elif new_x > legal_x:
self.x = legal_x - (new_x - legal_x)
else:
self.x = new_x
if new_y < legal_y:
self.y = legal_y - (new_y - legal_y)
elif new_y > legal_y:
self.y = legal_y - (new_y - legal_y)
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,legal_x)
self.y = r.randint(legal_y,legal_y)
def move(self):
new_x = self.x + r.choice()
new_y = self.y + r.choice()
if new_x < legal_x:
self.x = legal_x - (new_x - legal_x)
elif new_x > legal_x:
self.x = legal_x - (new_x - legal_x)
else:
self.x = new_x
if new_y < legal_y:
self.y = legal_y - (new_y - legal_y)
elif new_y > legal_y:
self.y = legal_y - (new_y - legal_y)
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空格混用
报错信息是什么 qq1151985918 发表于 2021-5-7 16:55
报错信息是什么
没显示报错,就是永远都是打印出乌龟体力耗尽,挂掉了
会不会是一直执行move(),里面有个self.power -= 1, 那就秒减完了,就死了 本帖最后由 小桥流水清无鱼 于 2021-5-7 17:52 编辑
为什么系统第7行开始,系统回车键是8个字符而不是4个了呢? YouCam 发表于 2021-5-7 17:34
会不会是一直执行move(),里面有个self.power -= 1, 那就秒减完了,就死了
那个没问题的哦,有定初始生命值100的,第八行
把for i in range(10)打后的换成小甲鱼的答案又正常了
但是他答案的回车缩进4个,我电脑的回车缩进是8个 idle"智能"编译器 南归 发表于 2021-5-7 18:11
idle"智能"编译器
我这回车缩进自动8个空格,是什么原因呢{:10_269:} 小桥流水清无鱼 发表于 2021-5-7 18:21
我这回车缩进自动8个空格,是什么原因呢
开始尝试pycharm或者vscode吧, 用idle学习感觉意义不大 TC_DHL 发表于 2021-5-7 19:07
开始尝试pycharm或者vscode吧, 用idle学习感觉意义不大
怎么说呢,大型开发比较方便,写惯之后,就有中。。比如一般pycharm导包按im后面提示就出来了,换到普通的编辑软件导包的时候就会想im什么来着,没有提示,好烦,想了好久,哦,是import{:5_104:}
页:
[1]