用python 计算1到1000的累加和,但是不能把10的倍数计算进去,也就是和不包含10,20,30…… (考虑多种方法实现,比如filter,continue,列表推导式等)
时间: 2024-05-05 14:18:50 浏览: 74
可以使用for循环加列表推导式来计算1到1000的累加和,但排除掉10的倍数,代码如下:
```python
sum = sum(i for i in range(1, 1001) if i % 10 != 0)
print(sum)
```
使用列表推导式来计算从1到1000的数字列表,然后使用filter函数来过滤掉10的倍数,最后使用sum函数计算累加和,代码如下:
```python
numbers = [i for i in range(1, 1001)]
filtered_numbers = filter(lambda x: x % 10 != 0, numbers)
sum = sum(filtered_numbers)
print(sum)
```
还可以使用for循环来遍历数字列表,但在遇到10的倍数时使用continue跳过该数字,代码如下:
```python
sum = 0
for i in range(1, 1001):
if i % 10 == 0:
continue
sum += i
print(sum)
```
相关问题
计算1到1000的累加和,但是不能把10的倍数计算进去的代码
请见下:
```python
sum = 0
for i in range(1, 1001):
if i % 10 == 0:
continue
sum += i
print(sum)
```
用python语言计算1到1000的累加和,但是不能把10的倍数计算进去,也就是和不包含10,20,30…… (考虑多种方法实现,比如filter,continue,列表推导式等)
好的,这个问题是可以回答的。以下是使用列表推导式实现的代码:
```python
sum = sum([i for i in range(1, 1001) if i % 10 != 0])
print(sum)
```
另外,使用 filter() 函数实现的代码如下:
```python
sum = sum(filter(lambda x: x % 10 != 0, range(1, 1001)))
print(sum)
```
还可以使用 continue 语句实现,代码如下:
```python
sum = 0
for i in range(1, 1001):
if i % 10 == 0:
continue
sum += i
print(sum)
```
以上三种方法都可以得到正确结果,但实现方式不同。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)