我正在尝试将列表中的元素相乘,以便它们给出我的总数,但只使用加法和减法。例如,[1,3,6,8]的列表将具有输出144.到目前为止我的代码是:
numbers = [1,3,6,8]
def no_sign(numbers):
total = 0
answer = 0
for i in range(len(numbers)):
first_number = numbers[i]
print str(first_number) + ' pop'
for j in range(first_number):
#print first_number
answer = first_number + answer
print str(first_number) + ' firstnum'
print str(answer)+ " answeer "
total = total + answer
print str(total) + " total"
return total
打印no_sign(数字)
这只给我110,这还不够。有什么建议吗?
答案 0 :(得分:1)
您的代码采用每个元素的平方并将它们相加。因此,您将获得1 + 9 + 36 + 64 = 110
由于你想多次做同样的事情,自己编写multiplication(num1, num2)
函数只需添加并在乘法时使用它是更好的选择。
如你所知,两个数字的乘法是将firstNumber添加到第二个数字。您可以像下面这样编写multiplication
函数并在列表中使用它。
def multiplication(num1, num2):
answer = 0
for i in range(num2):
answer += num1
return answer
numbers = [1,3,6,8]
def no_sign(numbers):
total = 1
for number in numbers:
total = multiplication(total, number)
return total
print no_sign(numbers)