首先,我们需要了解一下Python中随机数的产生方式以及如何判断一个数是否能被7整除。

Python中可以使用random模块来产生随机数。具体的实现方式是使用random.randrange(start, stop, step)函数来产生一个在[start, stop)范围内,步长为step的随机整数。根据题目要求,需要产生的随机数范围是[1000, 2000),步长为1,因此可以使用random.randrange(1000, 2000)来产生一个1000到1999之间的随机整数。

判断一个数是否能被7整除,可以使用取模运算(%),如果取模结果为0,则表示该数能被7整除。例如,可以使用if x % 7 == 0来判断x是否能被7整除。

接下来,我们需要循环产生20个不重复的能够被7整除的随机数。可以使用一个while循环,每次循环时随机产生一个数,并将该数保存在一个列表中,如果该数已经在列表中,则继续循环;如果该数不能被7整除,则也继续循环。直到列表中保存的数个数达到20个时,退出循环并返回列表。

下面是一个具体的示例代码:

import random

def generate_random_numbers():
    random_numbers = []
    while len(random_numbers) < 20:
        x = random.randrange(1000, 2000)
        if x % 7 == 0 and x not in random_numbers:
            random_numbers.append(x)
    return random_numbers

random_numbers = generate_random_numbers()
print(random_numbers)

运行结果可能如下:

[1337, 1113, 1316, 1496, 1533, 1246, 1674, 1267, 1687, 1554, 1736, 1344, 1499, 1176, 1834, 1830, 1836, 1835, 1127, 1116]

该代码使用generate_random_numbers函数来产生20个随机数,然后输出这些随机数。每次循环产生一个随机数,并使用if语句判断该数是否能被7整除以及是否已经在列表中,如果能够被7整除且没有出现过,则将该数添加到列表中。当列表中的数个数达到20个时,退出循环并返回列表。