Python 多步数学方程组

Python 多步数学方程组,python,function,Python,Function,我试图编写一个程序,提示用户输入两个数字,然后让系统计算出给定数字的和、差、积和商,并打印出结果。这就是我目前所拥有的。当我运行求和的代码时,结果是正确的,当我添加差分函数时,它不起作用 def total_sum(num1,num2): result = num1 + num2 return result def total_difference(num_1,num_2): result = num_1 - num_2 return result def total_pro

我试图编写一个程序,提示用户输入两个数字,然后让系统计算出给定数字的和、差、积和商,并打印出结果。这就是我目前所拥有的。当我运行求和的代码时,结果是正确的,当我添加差分函数时,它不起作用

def total_sum(num1,num2):
result = num1 + num2
return result

def total_difference(num_1,num_2):
    result = num_1 - num_2
    return result

def total_product(number1,number2):
    result = number1 * number2
    return result

def total_quotient (number_1,number_2):
    result = number_1 / number_2
    return result

def main ():
   value_1 = float(input('Enter a number :'))
   value_2 = float(input('Enter second number :'))
   value_2 != 0

   add = total_sum(value_1,value_2)
   difference = total_difference(value_1, value_2)
   product = total_product(value_1,value_2)
   quotient = total_quotient(value_1,value_2)

   print ('The total is {:.1f}'.format(add))
   print ('The difference is {:.1f}'.format(difference))
   print ('The product is {:.2f}' .format(product))
   print ('The quotient is {:.2f}'.format(quotient))

main()

问题是,您试图使用sum方法,该方法必须遍历一个列表,您试图使用一个元组来实现这一点

您拥有以下等价物:

a = sum(1,2)
print(a)
它将返回
TypeError:“float”对象不可编辑

相反,您应该将输入的值添加到列表中,如下所示:

list2sum = []
list2sum.append(value_1) # do the same for 2)
a = sum(list2sum)
print(a)
用于:

总和(iterable[,start])

可数项的起始和项之和 从左到右,返回总数。开始默认为0。这个 iterable的项通常是数字,而起始值不是 允许为字符串

对于某些用例,sum()有很好的替代方法。这个 连接字符串序列的首选快速方法是调用 ''。加入(序列)。使用扩展名添加浮点值的步骤 精度,请参见math.fsum()。要连接一系列的可重用项, 考虑使用ItRealStudio.Car())< /P> 如果您试图使用total sum函数,请适当使用它:

a = total_sum(value_1, value_2)
print(a)   #print to confirm result
记住,如上所述,sum实际上是一个内置函数。我不知道你为什么要在这里使用它:

 total_sum = sum(value_1,value_2)
几乎没有错误

  • 正如Andrew在评论中指出的那样,您错过了
  • 您在
    .format
    中出错
  • 您在返回结果的差分函数中使用了
    results
    以下是更正后的代码:

    def total_sum(num1,num2):
        result = num1 + num2
        return result
    
    def total_difference(num_1,num_2):
        result = num_1 - num_2
        return result
    
    def main ():
        value_1 = float(input('Enter a number :'))
        value_2 = float(input('Enter second number :'))
    
        add = total_sum(value_1,value_2)
        difference = total_difference(value_1, value_2)
    
        print ('The total is {:.5f}'.format(add))
        print ('The difference is {:.5f}'.format(difference))
    
    
    main()
    

    你忘了main()中第二行的一句话吗?@AndrewL我对python很陌生,我不知道你在说什么。它在def total_sum
    print的“def”部分给了我一个语法错误('差异是',格式(total_difference,.1f))
    这就是安德鲁所说的那一行。发布代码时是不是输入错误?不是,我想让它打印用户输入的和、差、积和商的答案@SilentMonkI现在不确定这是否会引起任何问题,但将来注意:函数可以像变量一样使用,因此通过执行
    total\u sum=sum(value\u 1,value\u 2)
    ,您基本上已经在
    main
    中重新定义了
    def total\u sum
    函数。要避免这种情况,请选择一个不冲突的变量名。我相信total_sum方法是用来代替sum的,在任何情况下,都有利于文档参考谢谢!所以我只需要按相同的顺序加上商和乘积,对吗@Ani menon操作选择使用内置的
    format
    函数,而不是
    str.format
    在字符串本身中指定规范,我认为这不算错误。@czpzz是的。(不要忘记在除法运算符中添加不等于零的
    值_2