我正在尝试编写一个程序,提示用户输入两个数字,然后让系统计算出给定数字的总和,差异,乘积和商,并打印出结果。这就是我到目前为止所拥有的。当我运行代码求和时它回来了正确,当我添加差异函数时它不起作用。
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()
答案 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)
几个错误,
'
,正如安德鲁的评论所指出的那样。.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()