高级 Python 开发课程
第 章
>
第 级
高级类
比较运算符重载
目标
通过使用比较重载,正确检查并标记货物。
运输码头上有一些准备运送到商店的酒桶,但在运输之前需要对它们进行贴标和预处理,以便工人可以顺利挑选和发运。为此,你必须使用比较重载,这类似于上一章中学习的运算符重载,你需要对一个类进行重载,这次是使用比较运算符。
码头上有三个(3)订单,每个订单包含两个(2)酒桶。每个订单都有一个标牌,用于说明订单中酒桶的重量比例。编辑器中已经定义了一个名为 barrel 的类,允许你使用比较重载。此外,编辑器中还设置了三个(3)函数:less_than()、greater_than()、equal_to(),这些函数用于记录标牌上的重量比例。
首先,走向红色地毯上标有暗色和浅色 X 记号的位置,并面向酒桶,使用 read() 函数来确定酒桶中酒的名称以及酒桶的重量,示例如下:await player.read()。使用 barrel 类创建暗色和浅色酒桶的对象,并添加你从 read() 函数中获取的信息。创建对象后,再创建一个比较两个对象的对象。例如:
red_barrel_dark = barrel("Wine name", 000) red_barrel_light = barrel("Wine name", 000) red_barrel_compare = red_barrel_dark < red_barrel_light
请确保在创建酒桶类的对象时,写下的酒的名称必须与你使用 read() 函数时消息中显示的完全一致。
请按照地毯和颜色 X 记号的命名约定创建对象。对于红色地毯,比较酒桶时使用 < 运算符来检查暗色酒桶是否比浅色酒桶轻。完成此部分后,走向红色地毯上金色 X 记号的位置并面对标牌。使用函数 less_than() 与比较对象来记录酒桶的重量比例,示例如下:less_than(red_barrel_compare)。
接下来,走向绿色地毯上标有暗色和浅色 X 记号的位置,并重复相同的过程。使用 read() 函数读取暗色和浅色 X 记号处的信息,并使用这些信息创建相应的对象。对于绿色地毯的比较对象,这次我们将使用 > 运算符来检查暗色酒桶是否比浅色酒桶重。走向绿色地毯上金色 X 记号的位置并面对标牌。使用函数 greater_than() 与比较对象来记录酒桶的重量比例,示例如下:greater_than(green_barrel_compare)。
走向蓝色地毯上标有暗色和浅色 X 记号的位置,并重复相同的过程。使用 read() 函数读取暗色和浅色 X 记号处的信息,并使用这些信息创建相应的对象。对于蓝色地毯的比较对象,这次我们将使用 == 运算符来检查暗色酒桶是否与浅色酒桶重量相等。走向蓝色地毯上金色 X 记号的位置并面对标牌。使用函数 equal_to() 与比较对象来记录酒桶的重量比例,示例如下:equal_to(blue_barrel_compare)。
一旦所有订单都已贴上标签,请走向码头上橙色地毯的金色 X 记号处。面对标牌并使用 write() 函数记录每个订单上的内容,按照你创建的对象写下每个酒桶的酒名,例如,对于红色地毯的酒桶:red_barrel_dark.name , red_barrel_light.name。对所有六个酒桶进行此操作,即可完成该关卡。