编写一个程序,请找出1000内可以被7整除,但不能是5的倍数的数。获得的数字应以逗号分隔的顺序存放在列表中分别以while,for,列表推导式,生成器推导式的方式实现
时间: 2024-05-11 10:19:48 浏览: 35
1_求1到1000中,能被7整除的数的个数.c
以下是分别使用while、for、列表推导式和生成器推导式实现的程序:
使用while:
```
numbers = []
n = 1
while n <= 1000:
if n % 7 == 0 and n % 5 != 0:
numbers.append(n)
n += 1
print(numbers)
```
使用for:
```
numbers = []
for n in range(1, 1001):
if n % 7 == 0 and n % 5 != 0:
numbers.append(n)
print(numbers)
```
使用列表推导式:
```
numbers = [n for n in range(1, 1001) if n % 7 == 0 and n % 5 != 0]
print(numbers)
```
使用生成器推导式:
```
numbers = (n for n in range(1, 1001) if n % 7 == 0 and n % 5 != 0)
print(list(numbers))
```
这四种方式都可以得到相同的结果,即1000内可以被7整除,但不能是5的倍数的数的列表。
阅读全文