鱼C论坛

 找回密码
 立即注册
查看: 3805|回复: 12

[已解决]关于第37讲动动手最后一题的问题

[复制链接]
发表于 2020-11-25 20:43:17 | 显示全部楼层
import random as f

class Turtle:
    def __init__(self):
        self.energy=100
        self.x=f.randint(0,10)
        self.y=f.randint(0,10)
    def eat(self):
        self.energy+=20
        if self.energy>100:
            self.energy=100
    def move(self):
        self.energy-=1
        self.x_new=f.choice([1,2,-1,-2])+self.x
        self.y_new=f.choice([1,2,-1,-2])+self.y

        if self.x_new>10:
            self.x=10-(self.x_new-10)
        elif self.x_new<0:
            self.x=-(self.x_new)
        else:
            self.x=self.x_new

        if self.y_new>10:
            self.y=10-(self.y_new-10)
        elif self.y_new<0:
            self.y=-(self.y_new)
        else:
            self.y=self.y_new
        return (self.x,self.y)

class Fish:
    def __init__(self):
        self.x=f.randint(0,10)
        self.y=f.randint(0,10)
    def move(self):
        self.x_new=f.choice([1,-1])+self.x
        self.y_new=f.choice([1,-1])+self.y

        if self.x_new>10:
            self.x=10-(self.x_new-10)
        elif self.x_new<0:
            self.x=-(self.x_new)
        else:
            self.x=self.x_new

        if self.y_new>10:
            self.y=10-(self.y_new-10)
        elif self.y_new<0:
            self.y=-(self.y_new)
        else:
            self.y=self.y_new
        return(self.x,self.y)

turtle=Turtle()
fish=Fish()
all_fish=10
while True:
    if turtle.energy==0:
        print('乌龟体力用光了,游戏结束')
        break
    if all_fish==0:
        print('鱼被吃光了,游戏结束')
        break
    if fish.move()==turtle.move():
        print('一条鱼被吃了')
        all_fish-=1
        turtle.eat()
   

好像把else部分删去就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-25 20:45:47 | 显示全部楼层
我觉得你的好像没毛病
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-25 20:46:41 | 显示全部楼层
只是else多余了
你多运行你几次你的其实好像没毛病诶
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-25 21:45:45 | 显示全部楼层
辛荑啊 发表于 2020-11-25 21:41
好像是,但是用小甲鱼那个代码,他的结果和我的结果好像差别挺大,他很少出现吃5条鱼以下,我 ...

我刚刚又去运行我写的好像是诶
我也是昨晚才写完这个,我看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-25 22:06:22 | 显示全部楼层
小伤口 发表于 2020-11-25 21:45
我刚刚又去运行我写的好像是诶
我也是昨晚才写完这个,我看看

没看出你的代码那里有问题
不看了耗子尾汁年轻人
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-26 17:57:43 | 显示全部楼层    本楼为最佳答案   
我看到你的帖子被埋了
我又帮你发了一个你看看有没有帮助
<font color="red">[已解决]</font>乌龟吃小鱼
https://fishc.com.cn/thread-185555-1-1.html
(出处: 鱼C论坛)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-27 11:15:36 From FishC Mobile | 显示全部楼层
我还能有最佳吗嘿嘿
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-2 00:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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