轨道
/
Prolog
Prolog
/
练习
/
电阻色环三重奏
电阻色环三重奏

电阻色环三重奏

中等

说明

如果你想用 Raspberry Pi 做点什么,多半会用到_电阻器_。 这个练习里,你只需要知道关于它们的 3 件事:

  • 每个电阻器都有一个电阻值。

  • 电阻器很小,事实上小到如果直接把电阻值印在上面,会很难看清。 为了解决这个问题,制造商会把用颜色编码的色带印在电阻器上,用来表示它们的电阻值。

  • 每条色带相当于数字中的一位。 例如,如果他们印上一条棕色色带(值为 1),后面接着一条绿色色带(值为 5),就表示数字 15。 在这个练习中,你要写一个实用的小程序,这样就不用去记各条色带的值了。 程序接收 3 种颜色作为输入,输出以欧姆为单位的正确数值。 色带的编码如下:

  • black: 0

  • brown: 1

  • red: 2

  • orange: 3

  • yellow: 4

  • green: 5

  • blue: 6

  • violet: 7

  • grey: 8

  • white: 9

在《电阻颜色双色》中,你解码了前 2 种颜色。 例如:orange-orange 得到主值 33。 第 3 种颜色代表需要往主值后面加多少个零。 主值加上这些零,就得到以欧姆为单位的值。 在这个练习里,欧姆到底是什么并不重要。 例如:

  • orange-orange-black 是 33,不加零,也就是 33 ohms。
  • orange-orange-red 是 33,加 2 个零,也就是 3300 ohms。
  • orange-orange-orange 是 33,加 3 个零,也就是 33000 ohms。

(如果你喜欢数学,可以把这些零看成 10 的指数。 如果你不喜欢数学,那就直接按零来理解。 两者其实是一回事,只不过一个用大白话,一个用数学术语。)

这个练习要做的是把颜色转换成一个标签:

"... ohms"

所以输入 "orange", "orange", "black" 时应该返回:

"33 ohms"

遇到更大的电阻器时,会用公制前缀来表示更大的欧姆数量级,比如 "kiloohms"。 这就像用“2 千米”代替“2000 米”,或者用“2 千克”表示“2000 克”。

例如,输入 "orange", "orange", "orange" 时应该返回:

"33 kiloohms"

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Prolog Exercism

准备好开始 电阻色环三重奏 了吗?

注册 Exercism,借助 109 个练习 和真人导师指导,学习并掌握 Prolog,全部免费。