关卡连接:
https://codecombat.163.com/play/level/by-any-other-name
重命名变量以揭示秘密宝石。
简介:
一个变量可以有你想要的任意名字! 在这个关卡中,重命名 enemy 变量以显示宝石。
默认代码
# 改变变量的名字让宝石出现!
# 将变量"enemy1"的名称更改为"gemDude1"。
enemy1 = hero.findNearestEnemy()
hero.attack(enemy1)
hero.attack(enemy1)
# 将变量"enemy2"的名称更改为"gemDude2"。
enemy2 = hero.findNearestEnemy()
hero.attack(enemy2)
hero.attack(enemy2)
# 在改变变量名字后收集宝石。
hero.moveUp()
hero.moveRight()
hero.moveRight()
概览
在这个关卡中,你需要打败两个食人魔和收集两个宝石。 所提供的代码关乎食人魔——但是宝石在哪里呢?为了使宝石出现,你必须改变你的代码中变量的名称
一个变量可以有任何你想要的名字:它只是一个对象的标签。
# 这些都是一样的
enemy = hero.findNearestEnemy()
anyName = hero.findNearestEnemy()
当您更改变量的名称时,请确保在使用它的地方更改它。
anyName = hero.findNearestEnemy()
hero.attack(anyName) # 正确
hero.attack(enemy) # 错误!
换个名字 解法
# 改变变量的名字让宝石出现!
# 将变量"enemy1"的名称更改为"gemDude1"。
gemDude1 = hero.findNearestEnemy()
hero.attack(gemDude1)
hero.attack(gemDude1)
# 将变量"enemy2"的名称更改为"gemDude2"。
gemDude2 = hero.findNearestEnemy()
hero.attack(gemDude2)
hero.attack(gemDude2)
# 在改变变量名字后收集宝石。
hero.moveUp()
hero.moveRight()
hero.moveRight()