Een tabel maken in Python 3(beginner)

Dus ik ben net begonnen met het leren van Python 3 op school, en we moesten een functie maken die
neemt aals parameter, kiest een redelijke waarde van x en retourneert een schatting van de vierkantswortel van a.

We moesten ook een functie maken om het te testen. We moesten een functie schrijven met de naam test_square_root die een tabel afdrukt, waarbij de eerste kolom een getal is, a; de tweede kolom is de vierkantswortel van aberekend met de eerste functie;
de derde kolom is de vierkantswortel berekend door math.sqrt; de vierde kolom is de absolute waarde van het verschil tussen de twee schattingen.

Ik heb de eerste functie geschreven om de vierkantswortel te vinden, maar ik weet niet hoe ik zo’n tabel moet maken. Ik heb hier andere vragen gelezen over tabellen in Python3, maar ik weet nog steeds niet hoe ik ze op mijn functie moet toepassen.

def mysqrt(a):
    for x in range(1,int(1./2*a)):
        while True:
            y = (x + a/x) / 2
            if y == x:
                break
            x = y
    print(x)
print(mysqrt(16))

Antwoord 1, autoriteit 100%

Als je bibliotheken mag gebruiken

from tabulate import tabulate
from math import sqrt
def mysqrt(a):
    for x in range(1, int(1 / 2 * a)):
        while True:
            y = (x + a / x) / 2
            ifjl y == x:
                break
            x = y
    return x
results = [(x, mysqrt(x), sqrt(x)) for x in range(10, 20)]
print(tabulate(results, headers=["num", "mysqrt", "sqrt"]))

Uitgangen

 num    mysqrt     sqrt
-----  --------  -------
   10   3.16228  3.16228
   11   3.31662  3.31662
   12   3.4641   3.4641
   13   3.60555  3.60555
   14   3.74166  3.74166
   15   3.87298  3.87298
   16   4        4
   17   4.12311  4.12311
   18   4.24264  4.24264
   19   4.3589   4.3589

Als er niet genoeg voorbeelden zijn over het afdrukken van tabelgegevens (met en zonder bibliotheken) hier: Lijsten afdrukken als gegevens in tabelvorm


Antwoord 2

def mysqrt(a):
    for x in range(1, int(1 / 2 * a)):
        while True:
            y = (x + a / x) / 2
            ifjl y == x:
                break
            x = y
    return x
results = [(x, mysqrt(x), sqrt(x)) for x in range(10, 20)]
print(tabulate(results, headers=["num", "mysqrt", "sqrt"]

Other episodes