Python program about radical numbers [python]

  math, python, python-3.x, recode, windows

My python program about radical numbers that i created isnt working as i want. √72 = 6√2. But my program shows: 2√18. Lets say that a√b is a variable. I want ‘b’ to be the least value. How can i do that? My program is so big so i can’t write all of them. So i am going to give enough code. Here are the codes:

def tamkaremi(self,num):
    durumtamkare = "{} sayısı tam kare değildir.".format(num)
    i = 1
    for i in range(i,num):
        if (i*i == num):
            durumtamkare = "{} sayısı {} x {} ile oluşan bir tam karedir.".format(num,i,i)
    self.neyleneyincarpimi = i
    return durumtamkare

def kokluyazdir(self,number):
    i = 1
    bolenler_listesi = []
    for i in range(i,number):
        if (number % i == 0):
        i += 1
    kontroldegiskeni = 0
    yazdirilacak = "1√{}".format(number)

    while True:
        if (kontroldegiskeni + 1 > len(bolenler_listesi)):

        kontroldegiskeni += 1
        if (kontroldegiskeni < len(bolenler_listesi)):
            y = number // bolenler_listesi[kontroldegiskeni] 
        abc = self.tamkaremi(y)

        if (abc.endswith("tam karedir.")):
            yazdirilacak = "{}√{}".format(self.neyleneyincarpimi,bolenler_listesi[kontroldegiskeni])

    return yazdirilacak

hesaplamalar = Hesaplamalar()

And the output is: 2√18.
Please write and describe the codes for the output to be 6√2

Source: Windows Questions