鱼C论坛

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

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

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

  1. import random as r
  2.         
  3. legal_x = [0,10]
  4. legal_y = [0,10]

  5. class Turtle:
  6.         def __init__(self):
  7.                 self.power = 100
  8.                 self.x = r.randint(legal_x[0],legal_x[1])
  9.                 self.y = r.randint(legal_y[0],legal_y[1])
  10.         def move(self):
  11.                 new_x = self.x + r.choice([1,2,-1,-2])
  12.                 new_y = self.y + r.choice([1,2,-1,-2])

  13.                 if new_x < legal_x[0]:
  14.                         self.x = legal_x[0] - (new_x - legal_x[0])
  15.                 elif new_x > legal_x[1]:
  16.                         self.x = legal_x[1] - (new_x - legal_x[1])
  17.                 else:
  18.                         self.x = new_x

  19.                 if new_y < legal_y[0]:
  20.                         self.y = legal_y[0] - (new_y - legal_y[0])
  21.                 elif new_y > legal_y[1]:
  22.                         
  23.                         self.y = legal_y[1] - (new_y - legal_y[1])
  24.                 else:
  25.                         self.y = new_y

  26.                 self.power -= 1

  27.                 return(self.x,self.y)

  28.         def eat(self):
  29.                 self.power += 20
  30.                 if self.power > 100:
  31.                         self.power = 100

  32. class Fish:
  33.         def __init__(self):
  34.                 self.x = r.randint(legal_x[0],legal_x[1])
  35.                 self.y = r.randint(legal_y[0],legal_y[1])
  36.         def move(self):
  37.                 new_x = self.x + r.choice([1,-1])
  38.                 new_y = self.y + r.choice([1,-1])

  39.                 if new_x < legal_x[0]:
  40.                         self.x = legal_x[0] - (new_x - legal_x[0])
  41.                 elif new_x > legal_x[1]:
  42.                         self.x = legal_x[1] - (new_x - legal_x[1])
  43.                 else:
  44.                         self.x = new_x

  45.                 if new_y < legal_y[0]:
  46.                         self.y = legal_y[0] - (new_y - legal_y[0])
  47.                 elif new_y > legal_y[1]:
  48.                         self.y = legal_y[1] - (new_y - legal_y[1])
  49.                 else:
  50.                         self.y = new_y

  51.                 return(self.x,self.y)


  52. turtle =Turtle()
  53. fish = []
  54. for i in range(10):
  55.         new_fish = Fish()
  56.         fish.append(new_fish)

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

  66.         
  67.         for each_fish in fish[:]:
  68.                 if each_fish.move == pos:
  69.                         turtle.eat()
  70.                         fish.remove(each_fish)
  71.                         print("有一条鱼儿被吃掉了...")
复制代码



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


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 16:55:50 From FishC Mobile | 显示全部楼层
报错信息是什么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

没显示报错,就是永远都是打印出  乌龟体力耗尽,挂掉了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-5-7 17:34:31 | 显示全部楼层
会不会是一直执行move(),里面有个self.power -= 1, 那就秒减完了,就死了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

为什么系统第7行开始,系统回车键是8个字符而不是4个了呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

那个没问题的哦,有定初始生命值100的,第八行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2021-5-7 18:11:19 | 显示全部楼层
idle"智能"编译器
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

我这回车缩进自动8个空格,是什么原因呢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

开始尝试pycharm或者vscode吧, 用idle学习感觉意义不大
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 04:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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