我的加法和乘法工作很好。但是,对于减法,如果我输入2个数字,3和1,答案将是-2,这显然是不正确的。分部也不能正常运作。
我可以输入2个数字,8和4,它会告诉我答案是0.5,这也是不正确的。
我的代码出了什么问题?
AND instr('+420+421+357+386', $row['priv_handy'], 0, 4)
答案 0 :(得分:0)
问题在于这些行..
diff = 0
while s < x:
number = int(input("Please enter number here: "))
s += 1
diff = calculator.subtraction(number,diff)
print("The answer is", diff)
让我们说输入是上面代码片段的第2行第3行,循环第一次迭代的差异,数字(输入)是2而diff是0
因为在你提到的循环中,(数字,差异) - 减法以相同的顺序发生
答案 1 :(得分:-1)
if operations == 4:
d = 0
quo = 1
while d < x:
number = int(input("Please enter number here: "))
d += 1
quo = calculator.division(number, quo)
print("The answer is", quo)
第一次通过quo
变为8.然后它再次通过4作为number
和8作为quo
。 4 / 8
= .5
以下是使用reduce
库中的functools
的替代解决方案。
if operations == 4:
quo = 1
numbers = list()
while len(numbers) < x:
number = int(input("Please enter number here: "))
numbers.append(number)
quo = reduce(calculator.division, numbers)
print("The answer is", quo)
我想知道为什么这个被贬低的时候确实是为什么师不工作的答案......