鱼C论坛

 找回密码
 立即注册
查看: 1023|回复: 2

[已解决]列表索引是显示储存位置

[复制链接]
发表于 2018-2-23 15:28:49 | 显示全部楼层 |阅读模式

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

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

x
最近在写课后练习的时候经常出现显示出储存位置的情况。有时又不会,挺烦的,不知道原因是什么,希望大神解释一下,感谢

例子如下

异常如下:
>>> list1[j]
<__main__.Fish object at 0x01EB3A90>
>>> a = list1[j]
>>> a
<__main__.Fish object at 0x01EB3A90>
>>> a = list1[1]
>>> a
<__main__.Fish object at 0x01EB3990>
>>> list1[i]
<__main__.Fish object at 0x01EB3A90>
>>> list1[0]
<__main__.Fish object at 0x01EB3590>

部分代码如下:
t1= T()   #生成乌龟对象

list1 =["a","b","c","d","e","f","g","h","i","j"]
list5 = []   #用来储存小鱼位置
dict1 = {}   #创建储存小鱼对应坐标的字典
time = 10
count_fish = 10

for i in range(10):
    list1[i] = Fish()   #生成10条小鱼对象
while True:
    add_t = t1.move()   #改变乌龟位置
    t_path = t1.list_t[0]    #获得乌龟当前位置

    for j in range(0,10):   #所有小鱼更新位置
        add_j = list1[j].move()   #改变小鱼位置
        f_path = list1[j].list_f[0]   #获得当前小鱼坐标
        list5.append(f_path)   #储存小鱼坐标
        try:
            dict1[list1[j]] = f_path   #储存小鱼坐标
        except KeyError:
            dict1[list1[j]] = 0

    if t_path in list5:
        count_fish -= 1
        t1.hp += 20
        print("一条小鱼被吃掉了,还有%d条小鱼,,乌龟体力加20,当前体力为%d!!!" % (count_fish,t1.hp))
    if t1.hp == 0:
        print("乌龟饿死了")
        break
    if count_fish == 0:
        print("小鱼被吃光了")
        break

print("游戏结束")


最佳答案
2018-2-23 15:58:28
因为你fish()这个函数返回值是个对象,所以就给你显示出了对象的哈希值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-23 15:58:28 | 显示全部楼层    本楼为最佳答案   
因为你fish()这个函数返回值是个对象,所以就给你显示出了对象的哈希值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-23 16:15:40 | 显示全部楼层
alltolove 发表于 2018-2-23 15:58
因为你fish()这个函数返回值是个对象,所以就给你显示出了对象的哈希值

是因为list = Fish()的原因啊,如果我想将 a 作为键放入字典,而且可以将字典的键 a 生成对象有什么方法吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 00:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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