python输出任意两个正整数a,b,计算区间【a,b】内的素数个数并输出最后一个素数。

python输出任意两个正整数a,b,计算区间【a,b】内的素数个数并输出最后一个素数。如何输出最后一个素数这个问题很困扰我,想请求大家帮助。


a = int(input('a:'))
b = int(input('b:'))
c = []
for num in range(a,b+1):
    if num>1:
        for i in range(2,num):
            if (num%i)==0:
                break
        else:
            c.append(num)
print('素数个数:{},最后一个:{}'.format(len(c),max(c)))
a = int(input('a:'))
b = int(input('b:'))
c = []
for i in range(a, b+1):
    count = 0
    for n in range(2, i):
        if i % n == 0:
            count += 1
            break
    if count == 0:
        c.append(i)

print('素数个数:{},最后一个:{}'.format(len(c),c[-1]))


a = int(input('a:'))
b = int(input('b:'))
last=0
num=0
for i in range(a, b + 1):
    cnt = 0
    if i!=1:
        for j in range(2, i):
            if i % j == 0:
                cnt += 1
    else:
        cnt+=1
    if cnt == 0:
        last=i
        num+=1

print('素数个数:{},最后一个素数是:{}'.format(num, last))

有两种办法,把所有素数放到一个列表中,然后全部算出来以后,直接取列表末尾的数就可以了,或者用for num in range(b,a,-1):倒着求所有素数,这样第一个就是最后一个