A probléma egy ismeretlen listában lévő negatív egész számok tizedes arányának kiadását igényli. A kívánt válasz 0,500000 (6 tizedesjegy), de a programom csak 0,5-öt ad ki. Hogyan tartsam meg az 5 terminál nullát?
Megpróbáltam a round(number, ndigits)
függvényt és a getcontext().prec
függvényt a Decimal
könyvtárból. Ezek mindegyike mindössze 0,5-öt hozott.
def plusMinus(arr):
from decimal import getcontext, Decimal
getcontext().prec = 6
negamt = 0
posamt = 0
zeroamt = 0
for i in arr:
if i < 0:
negamt += 1
elif i > 0:
posamt += 1
else:
zeroamt += 1
print(Decimal(posamt)/Decimal(n), Decimal(negamt)/Decimal(n), Decimal(zeroamt)/Decimal(n))
Az ismeretlen tömb várható eredményei: 0,500000, 0,333333, 0,166667; a programom 0.5, 0.333333, 0.166667 értéket ad vissza.