【问题标题】:Creating a class in python with several methods [closed]使用多种方法在python中创建一个类[关闭]
【发布时间】:2021-06-16 13:12:06
【问题描述】:

我已经开始学习 Python,并想创建一个以四个数字作为输入并进行除法、乘法、加法和减法的类。应打印结果。我做了一个类,但我不知道如何包含不同的方法。

class fraction: 

def __init__(self, numerator1, denominator1, numerator2, denominator2): 
    
    self.numerator1 = numerator1
    self.denominator1 = denominator1
    self.numerator2 = numerator2
    self.denominator2 = denominator2 
    
    
    self.addition_numerator=numerator1*denominator2+numerator2*denominator1
    self.addition_denominator=denominator1*denominator2
    
    
    self.subtraction_numerator=numerator1*denominator2-numerator2*denominator1 
    self.subtraction_denominator=denominator1*denominator2
    
   
    self.multiplication_numerator=numerator1*numerator2 
    self.multiplication_denominator=denominator1*denominator2
    
    
    self.division_numerator=numerator1*denominator2 
    self.division_denominator=denominator1*numerator2


    user_fraction=fraction(int(input("Enter the first numerator: ")), int(input("Enter the first denominator: ")),int(input("Enter the second numerator: ")), int(input("Enter the second denominator: ")))       


    print(user_fraction.__dict__)

【问题讨论】:

  • 您到底想达到什么目的?你的问题是什么?您尝试编写什么代码?你得到了什么错误?您的代码没有缩进,请尝试使用缩进的代码,以便人们可以更快地帮助您。
  • 你只是把你在没有类的情况下写的代码塞进了一个类的__init__方法,然后把self.放在你所有的变量赋值前面。这不是应该使用类的方式。
  • A Fraction 类应该代表分数 - 一个实例可能代表 3/4 或 7/3 - 并且这些方法会执行诸如将分数添加到另一个分数以产生新分数的操作,表示通过Fraction 的新实例。

标签: python class


【解决方案1】:

将 num1 和 num2 替换为 num3 和 num4。

class fraction:
      def __init__(self,num1,num2,num3,num4):
       self.num1=num1
       self.num2=num2
       self.num3=num3
       self.num4=num4
      def addition(self):
        print(self.num1+self.num2)
        return self.num1+self.num2
      def sub(self):
         print(self.num1+self.num2)
         return self.num1+self.num2
      def div(self):
         print(self.num1/self.num2)
         return self.num1/self.num2
      def mul(self):
         print(self.num1*self.num2)
         return self.num1*self.num2
      def reminder(self):
         print(self.num1%self.num2)
         return self.num1%self.num2


     if __name__ =="__main__":
       object=fraction(1,2,3,4)
       object.addition()
       object.reminder()

【讨论】:

    猜你喜欢
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2014-05-03
    • 2020-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多