计数范围内的数字,但从计数中删除包含特定数字的任何数字

2024-04-19 17:34:50 发布

您现在位置:Python中文网/ 问答频道 /正文

sum = 0
for i in range(0,1001):
    if '5' not in str(i):
        sum = sum + i
        i += 1
    print(sum)

这就是我到目前为止所做的,我希望您能看到我的意图是打印从1到1000的数字总和,同时删除任何包含数字5的数字

我是一个新的编码,我希望有人可以指导我在正确的方向


Tags: in编码forifnotrange数字方向
2条回答

您必须打印循环外的总和。为此,您可以将print语句放在与for相同的缩进处。 所以,你的代码应该是这样的

sum = 0 
for i in range(0,1001): 
    if '5' not in str(i): 
        sum = sum + i 
       # i += 1 
print(sum)

编辑:@Rus,因为我没有足够的声誉,所以我会继续回答。不,它不会打印任何包含5的数字。您可以在循环中添加print语句来检查所有可能的整数。另外,请再次检查forprin(sum)是否在同一块中

这是更新后的代码

sum = 0 
for i in range(0,1001): 
    if '5' not in str(i): 
        sum = sum + i 
        print(i)
       # i += 1 
print(sum)

从代码中删除i+=1,因为这里运行的是for循环,所以for循环负责增加i的值。您不需要显式地增加它

sum = 0 
for i in range(0,1001): 
    if '5' not in str(i): 
        sum = sum + i 
    
print(sum)

相关问题 更多 >