624 发表于 2020-7-6 21:59:01

for循环

请问除了用while循环打印0~100内的奇数外,可以用for循环打印吗

Twilight6 发表于 2020-7-6 22:00:13

本帖最后由 Twilight6 于 2020-7-6 22:04 编辑



当然可以
for i in range(1,100,2):
    print(i)


range 第一个参数是开始值,第二个参数是结束值,第三个参数是步长,分别默认值为 0,len(self),1

我们知道 0 肯定不算奇数所以从 1 开始间隔为 2 的循环打印数值即可,即把开始值设置为 1 ,步长为 2

qiuyouzhi 发表于 2020-7-6 22:01:19

当然
for i in range(1, 100):
    if i % 2:
      print(i)

Hello. 发表于 2020-7-6 22:03:18

举个加法的例子
for 循环
def sum():
    sum = 0
    for n in range(1,101):
      sum = sum + n
    return sum
print(sum())




while循环

def sum():
    sum = 0
    x=1
    while x < 101:
      sum = sum + x
      x+=1
    return sum
print(sum())

永恒的蓝色梦想 发表于 2020-7-6 22:16:41

for num in range(1,100,2):

冬雪雪冬 发表于 2020-7-6 23:00:05

对于已知循环次数的都可以用for循环,语句更简单,运行速度更快。测试两者的运行时间举例如下
import time
st = time.time()
for i in range(10000000):
    pass
print(time.time() - st)
st = time.time()
i = 0
while i <10000000:
    i += 1
print(time.time() - st)

0.9808876514434814
3.5771255493164062

小甲鱼的铁粉 发表于 2020-7-6 23:20:09

八仙过海,各显神通

陈尚涵 发表于 2020-7-7 12:19:21

能,上代码:
for i in range(0, 101, 2):
    print(i)

陈尚涵 发表于 2020-7-7 12:20:59

for循环比while循环还更好用呢,到后面,除非造一些游戏需要死循环,一般都用for

临时号 发表于 2020-8-1 18:02:46

可以
for each in range(1,100):
    if each % 2 != 0:
      print(each)
页: [1]
查看完整版本: for循环