多步数学方程式python

时间:2016-06-13 03:30:31

标签: 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_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()

2 个答案:

答案 0 :(得分:1)

问题是你正在尝试使用必须遍历列表的sum方法,你试图用元组来做这个。

你有相当于:

a = sum(1,2)
print(a)

将返回TypeError: 'float' object is not iterable

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

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

for more on sum

  

sum(iterable [,start])

     

总结开始和可迭代的项目   从左到右并返回总数。开始默认为0   iterable的项目通常是数字,而起始值则不是   允许是一个字符串。

     

对于某些用例,sum()有很好的替代方法。该   首选,快速连接字符串序列的方法是通过调用   ''。加入(序列)。要使用扩展名添加浮点值   精度,请参见math.fsum()。要连接一系列迭代,   考虑使用itertools.chain()。

如果您尝试使用总和函数,请通过适当使用它来执行此操作:

a = total_sum(value_1, value_2)
print(a)   #print to confirm result

请记住,sum实际上是一个内置函数,如上所述。我不知道你为什么要在这里使用它:

 total_sum = sum(value_1,value_2)

答案 1 :(得分:0)

几个错误,

  1. 你错过了',正如安德鲁的评论所指出的那样。
  2. 你在.format
  3. 中犯了一个错误
  4. 您在差异函数中使用results返回结果。
  5. 以下是更正后的代码:

    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()