Pro125-泡面Python[Py#025]——5min-For 循环

Python

简单的for

 上一节课上,有用到 for 循环。

for line in lines:
   #print(line)
   data = line.split()
   #print(data)

 我们今天来简单的学习一下,这个 for 循环是怎么实现的。


for一个

 果用for循环实现一个1加到100(不要用高斯算法谢谢XD)

for i in range(1, 101):
   print i

 首先,我们使用 for 设置了一个循环,然后规定了一个循环的范围,range(1, 101) 表示从1开始,到101为止(不包括101),在缺省的情况下,默认为取其中所有的整数。
for i in range(1, 101)就是让 iin 这个 range 范围内,依次将 1 ~ 100 赋值给变量 i

运行效果图

 它的判断逻辑是,第一次i = 1,i小于101,所以进行下一次循环,第二次i = 2,i小于101……,直到i 不小于 101时跳出循环。


for高斯

 我们现在来做一下高斯的题目,由求1加到100的和——的无脑版。

j=0
for i in range(1, 101):
   j = i + j
  #pritn(j)
print(j)

 注意缩进,当然你也可以尝试将 print(j)放进for里面,这样就可以看到每一次 for 的计算效果。


高斯效果

 当然你也可以使用高斯算法,我们可以看到,如果使用 for 循环,那么循环中的语句就要被执行 101 次,而用了高斯算法之后,我们实际只运行了5行代码,因为这个代码段太简单,所以根本体现不了速度差,如果去到一些高级的项目,用算法和简单粗暴的效率,可以差上个几千倍(我说ms哈),这也就是为什么编程去到高级阶段、人工智能阶段会发量少,啊不是,是需要数学好,数学不好更大程度上做出人工智障,而不是人工智能。


算法效果

用for嵌套

 for的嵌套和之前学习的 if 和 while 是一样的,注意缩进就可以了。这里我们来做一个小游戏,让这个for输出0~99,然后加上一个遇到4的时候要skr一下。

ih=0
il=0
for i in range(0, 100):
    ih = i // 10
    il = i % 10
    if ih == 4:
        print('skr')
    elif il == 4:
        print('skr')
    else:
        print(i)
skr效果

 //
 只保留整数位的除法
 %
 只保留余数的除法
 /
 普通除法,会除出带小数的商

你可能感兴趣的:(Pro125-泡面Python[Py#025]——5min-For 循环)