|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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("游戏结束")
因为你fish()这个函数返回值是个对象,所以就给你显示出了对象的哈希值
|
|