Gibt es eine Möglichkeit, meinen Code zu verbessern, ohne Nicht-Python-Bibliotheken zu verwenden? (8 GB RAM auf einem Chromebook mit 8 GB VRAM)
Hinweis: Ich verstehe, dass das ständige Drucken einen Tribut fordert, aber das ist meine geringste Sorge
# Bailey–Borwein–Plouffe formula
from decimal import Decimal, getcontext, MAX_PREC
getcontext().prec = MAX_PREC
def split_even(item, split_num):
return [item[i:i+split_num] for i in range(0, len(item), split_num)]
def updateScreen(d_percent, percent):
percent += d_percent
print(f'{percent}% Complete.')
return percent
def pi(a):
x = Decimal(0)
d_percent = round(100/(a*6), len(str(a)))
percent = 0 - d_percent
for k in range(0, a):
term = Decimal(4) / (8 * k + 1)
percent = updateScreen(d_percent, percent)
term -= Decimal(2) / (8 * k + 4)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 5)
percent = updateScreen(d_percent, percent)
term -= Decimal(1) / (8 * k + 6)
percent = updateScreen(d_percent, percent)
x += term / (16 ** k)
percent = updateScreen(d_percent, percent)
print(f'Term {k} Complete.')
return x
pi = pi(int(input()))
pi_list = split_even(str(pi), 1000)
for i in pi_list:
print(i)
Pi-Berechnungseffizienz [geschlossen] ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post