Python | 您所在的位置:网站首页 › python求100以内奇数之和 › Python |
求100以内所有素数之和并输出 。(素数指从大于1,且仅能被1和自己整除的整数。提示:可以逐一判断100以内每个数是否为素数,然后求和。) #找出100内所有素数 ls = []; for i in range(100): if i < 2: continue; #难点: #1.range(2,2) 返回空值,直接跳过循环,未执行break,else语句会被执行 #2.for.j循环执行完毕后,如果未找到满足i%j==0的数值,证明其是素数,break不会被执行,else会被执行;如果找到i%j==0的数值,证明其不是素数,break会被执行,else则不会被执行; for j in range(2, i): if i%j == 0: #print("{0}不是素数".format(i)); break; else: #print("{0}是素数".format(i)); ls.append(i); print(ls); #求和 s = 0; for k in ls: s += k; print(s); #运行结果 #[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] #1060知识点: 1. 循环高级用法:循环与else 当循环没有被break语句退出时,执行else语句块;else语句块作为"正常"完成循环的奖励;这里else的用法与异常处理中else用法相似; for c in "python": if c == "t": continue; print(c, end=""); else: print("正常退出"); #运行结果 #pyhon正常退出 for c in "python": if c == "t": break; print(c, end=""); else: print("正常退出"); #运行结果 #py2. range(n, n)返回空值 >>> list(range(2,2)); [] >>> list(range(1,1)); []3. 为什么循环中range(2,2)不报错? range(2, 2)返回一个空的迭代器,for循环作用于空的迭代器上一次也不会执行,而是直接结束。空迭代器是合法的,不会报错。 4. Python中for循环搭配else的陷阱 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |