Python 3.x Python:从列表中检索信息

Python 3.x Python:从列表中检索信息,python-3.x,Python 3.x,只是想弄清楚如何检索列表中的小时数和费率信息来进行计算 这种情况下,兼职教师所教的每一门学科都有报酬;主题列表存储为一个列表。支付给兼职教师的金额是根据以下公式计算的:金额=小时*费率,针对每门课程。例如,对于代码列表中的数学科目,计算将为9(小时)*54.50(科目费率),以获得数学科目的支付金额。我只是被困在兼职教师课程的“自我支付”部分 以下是代码的一部分: ======== from typing import List, Any class Subject:

只是想弄清楚如何检索列表中的小时数和费率信息来进行计算

这种情况下,兼职教师所教的每一门学科都有报酬;主题列表存储为一个列表。支付给兼职教师的金额是根据以下公式计算的:金额=小时*费率,针对每门课程。例如,对于代码列表中的数学科目,计算将为9(小时)*54.50(科目费率),以获得数学科目的支付金额。我只是被困在兼职教师课程的“自我支付”部分

以下是代码的一部分:

========

    from typing import List, Any

    class Subject:
        def __init__(self, name: str, hours: float, rate: float) -> None:
            self.name = name
            self.hours = hours
            self.rate = rate
    
    class PartTimeTeacher(Subject):
            def __init__(self, name: str, subject: List[Subject]):
            super().__init__(name)
            self.subject = subject

           def calculate_pay(self): # this is the section that I'm trying to work on
           # formula is to get the amount = hours * rate for each subject taught from the subjects list under def main()
                                            

    def main():
        teachers: List[Teacher] = []

       subjects = [
       Subject('Math', 9, 54.5),
       Subject('Science', 5, 62.5),
       Subject('English', 3.5, 40.93)]
====

谢谢,


流氓

我不知道你喜欢哪一个。然而,你必须调整你的惰性。那样不行

第一种方法: 输入导入列表中的

课程主题:
定义初始(self,名称:str,小时数:浮动,费率:浮动)->无:
self.name=名称
self.hours=小时
自我费率=费率
班级兼职教师(对象):
定义初始化(self,姓名:str,主题:List[subject]):
self.name=名称
self.subject=主语
def calculate_pay(self):#这是我正在尝试的部分
货币=dict()
对于self.subject中的ele:
货币[ele.name]=ele.rate*ele.hours
返回{self.name:currency}
def main():
受试者=[
科目(“数学”,9,54.5),
科目(“科学”,5,62.5),
主题(英语,3.5,40.93)]
ptt=兼职教师(“先生”,科目)
打印(ptt.calculate_pay())
main()
第二种方法:
我希望这就是你想要的。

嗨,克里姆,谢谢,我会试试这个。嗨,克里姆,顺便问一下,我想澄清一下,ele在你添加的代码中是什么意思?@Rogue。对我来说,它是
元素
的一个简短版本。您可以使用任何标识符<代码>元素表示循环的当前元素或状态。如果需要,可以将其命名为
项目
,而不是
元素
from typing import List


class Subject:
    def __init__(self, name: str, hours: float, rate: float) -> None:
        self.name = name
        self.hours = hours
        self.rate = rate
        self.amount = hours * rate


class PartTimeTeacher(object):
    def __init__(self, name: str, subject: List[Subject]):
        self.name = name
        self.subject = [Subject(ele.name, ele.hours, ele.rate) for ele in subject]

    def calculate_pay(self):  # this is the section that I'm trying to work on
        return {self.name: [vars(ele) for ele in self.subject]}


def main():
    subjects = [
        Subject('Math', 9, 54.5),
        Subject('Science', 5, 62.5),
        Subject('English', 3.5, 40.93)]

    ptt = PartTimeTeacher('mister_x', subjects)
    print(ptt.calculate_pay())


main()