[Python小白]请问“输入一个正整数k,请输出第k小的质数”要怎么用循环代码表示啊?

救救孩子,脑子不太好使,上课听循环代码听了几遍还是听不懂,又找不到人问呜呜呜┭┮﹏┭┮
大恩大德无以为报

这样吧!

def prime(num):  # 用来判断num是否为质数
    for i in range(2,num):
        if num%i==0:
            return False
    return True
def get_prime(i):
    num=1
    while i: # 当i=0时退出循环
        num+=1
        if prime(num):
            i-=1
    return num
num=int(input('请输入一个整数:'))
print('第{}小的质数{}'.format(num,get_prime(num)))

图片说明
图片说明

请问是说比k小的质数吗?如果是第k小的质数是有语病的。
输入一个正整数k,请输出比k小的质数,这个问题:

class MainProgram:
    def __init__(self):
        self.i = 2
        self.n = 0

    def show(self):
        try:
            self.k = int(input('请输入一个正整数:'))
            while self.i < self.k:
                self.j = 1
                self.ks = 0
                while self.j <= self.i:
                    if self.i % self.j == 0:
                        self.ks += 1
                    if self.j == self.i and self.ks == 2:
                        print(self.i)
                    self.j += 1
                self.i += 1
        except ValueError:
            print('请输入一个正整数!!!')


def main():
    root = MainProgram()
    root.show()


if __name__ == '__main__':
    main()