python栈数据结构分解质因数

问题遇到的现象和发生背景

python栈数据结构分解质因数,如题

怎么用栈的数据结构分解质因数

我想要达到的结果

样例输入
100
输出
5522

import math
class Stack:    
     #初始化
     def __init__(self):
         self.items = []
     #判断是否为空
     def isEmpty(self):
         return self.items == []
     #进栈
     def push(self, item):
         self.items.append(item)
     #出栈
     def pop(self):
         return self.items.pop()
     #查看元素
     def peek(self):
         return self.items[len(self.items)-1]
     #返回长度
     def size(self):
         return len(self.items)
 
def is_prime(x):
    if x == 2:
        return True
    for i in range(2, int(math.sqrt(x)) + 1):
        if x % i == 0:
            return False
    return True
    
if __name__ == '__main__':
    s1 = Stack()
    num = int(input())
    #质数进栈
    while not is_prime(num):
        for i in range(2, int(math.sqrt(num)) + 1):
            if (num % i == 0 and is_prime(i)):
                s1.push(i)
                num //= i
                break
    s1.push(num)
        
    while not s1.isEmpty():
        print(s1.pop(),end='')