Python作业,求解答

 

import math

# 1

def isprime(n):

    if n == 1:

        return False

    tmp = int(math.sqrt(n))

    for i in range(2, tmp+1):

        if n % i == 0:

            return False

    return True

 

# 2

num = 0

for i in range(1, 101):

    if isprime(i):

        print(i, end=' ')

        num += 1

        if num % 10 == 0:

            print('\n')

 

# 3

for i in range(6, 31, 2):

    tmp = i // 2

    # 去除重复 如8=3+5 8=5+3

    # 如不需去重 tmp 替换为i

    for j in range(2, tmp):

        if isprime(j):

            other = i - j

            if isprime(other):

                # 打印所有符合要求的,如10=3+7 10=5+5

                # 如不需要,去掉break前注释

                print('{}={}+{}'.format(i,j,other))

                # break

 

# 4

for i in range(100, 200+1):


    r_n = int(''.join(reversed(list(str(i)))))

    if isprime(i) and isprime(r_n):

        with open('Test.txt', 'a+') as f:

            f.write('{}\n'.format(i))