猫史档案馆


【Python连续剧--4】for循环与range函数(干货好多doge)

用户:碳查看:90 回复:32 评论:90 创建时间:2020-08-02T11:26:19


也许有很多萌(juan)新(lao)的程序有着这样的问题

如果我们想要打印十次“碳”的话

那就只能把print写十遍:

print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
print("碳")
#水帖成功(dooooge!)

虽然复制粘贴也是很方便的

但是如果我们要写100遍甚至上千上万遍的话

复制粘贴似乎也不是很好用了呢(恼)

这时候我们就可以用到这个语句:

for i in a:
    运行语句

这个语句的意思呢是用i来遍历a

简单点就是每次循环时用i来代替a中的每一个元素,知道i为最后一个元素为止

这里套一下付费课程里面的一个例子:i就是售票员,a是买票的游客,每个游客都要去售票员那里去买票

现在我们来讲一下经常跟for循环搭配的好兄弟range函数:

print(range(10))

我们可以看到运行的结果是:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

所以range函数就生成了一个从0到9的序列(也可以叫列表

(PS:列表是Python中最基础的多元素数据类型之一)

这里我们要注意的是:

range()函数中只有一个参数时

它生成的序列(列表)含有0但是不含有参数

range()函数中有两个参数时

它会生成一个从第一个参数到第二个参数的序列(含有第一个参数不含有第二个参数)

range()函数中有三个参数时

与含有两个参数类似,但是序列中的每个元素之间的差为第三个参数

(这个非常重要要当重难点记的嗷

接下来我们来举几个例子:

print(range(10))
print(range(2, 5))
print(range(0, 100, 20))

而运行的结果是:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4]
[0, 20, 40, 60, 80]

在掌握了range()函数之后呢我们就可以让range()函数与for循环结合在一起用辣

for i in range(5):
    print("碳")

然后运行的结果就是:

碳
碳
碳
碳
碳

所以这样的话就可以省略很多彳亍代码辣

(这里碳小声告诉你们一个技巧嗷)

(当有一段代码是以下语句的形式的话:)

for i in range(x):
    运行语句

(这个代码的意思就是执行x回for循环中的运行语句嗷

像i这样的只是一个被定义的变量的名字,大多数的字符都可以当这个i(i可以不调用,而且for循环外也可以用)

比如下面的代码运行时:

for i in range(5):
    print(i)
print(i)

运行结果就4:

0
1
2
3
4
4

于是这节课就到这里结束辣

课后作业:

1.写出一个可以执行50次且第一个数字是1每次打印的数字之间的差都是3的程序(选做)

2.试着开发脑洞自己做出一个有趣的程序(选做)

 

更新一下之前写的预告

预告:

大概在学到5集还是6集的时候某人会举行一个Python程序设计大赛嗷

代码范围的话就是某人教程帖里面的内容

大家可以把做好的程序放在评论区

三天过后碳会选出名次的嗷~

奖励:

第一名:250源码币(+50创意奖励)+某人做的获奖证书+包邮编程猫绝版猪年公仔

第二名:150源码币(+50创意奖励)+某人做的获奖证书

第三名:100源码币(+25创意奖励)+某人做的获奖证书

幸运选手:50源码币

幸运选手抽奖方法:(用random库的randint函数随机生成一个整数并且抽取)

这里奉上猪年公仔的自拍:

center_image

(不知道是某碳的拍照技术太渣还是电脑的原因总觉得有点暗

如果要报名的话就在本帖下面的置顶评论里面打出来自己的名字嗷

 


回复

上一页1 页 / 共 2下一页
碳

 ↓ 报 名 名 单 ↓

点赞1


评论


碳

我项我自己

点赞0


评论


March_12thMarch_12th

这样如何?

import turtle
import random
turtle = turtle.Pen()
turtle.speed(0)
turtle.hideturtle()
n = random.randint(4, 7)
color = ['red', 'orange', 'blue', 'green', 'yellow', 'purple']
length = 400
while n:
    for i in range(n):
        turtle.pencolor(random.choice(color))
        turtle.forward((length / n))
        turtle.left((360 / n))

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

妈妈妈妈,今天我打了大佬的脸

center_image

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

应该没人知道可以这样循环吧

import sys
sys.setrecursionlimit(8)
def a():
    print('看我循环!!')
    try:
        a()
    except:
        return
a()
#循环次数=上面的递归深度-4

点赞1


评论


NirvanaOvONirvanaOvO

切~八百年前就学会了/doge

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

第五期出了吗(可爱大眼睛)/doge

点赞1


评论


啸猫啸猫

while True:
    input()

你完全不知道input可以放外面

点赞1


评论


lsk666666lsk666666

e…………

现在萌新的门槛都这麽高了吗??!!

点赞2


评论


宏图大志EB9j宏图大志EB9j

奇怪奇怪奇怪...

range()生成的东西看起来并不是列表...

print(type(range(1, 10)))
# 运行结果:<class "range">

但,这东西可以用来迭代

for i in range(1, 10 + 1) :
    print(i)

# 运行结果:1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10

好怪...

点赞1


评论


Moira屑玖iMoira屑玖i

顶顶

点赞1


评论


86135clc86135clc

range函数返回的是range类型

点赞2


评论


_Rise__Rise_

序列和列表不是一个东西……

点赞1


评论


LogicMLogicM

感谢你让我知道了奆的读音(doge)

点赞1


评论


LogicMLogicM

i = 1
b = 1
print(b)
for i in range(151):
    b = (b + 1)
    if (b % 3 == 1):
        print(b)
#是个屑没错了

点赞1


评论


虐心工作间虐心工作间

额……楼下绝对多此一举,而且还是错的

for i in range(1, 3 * 50 + 2, 3):
    print(i)

点赞1


评论


ArchitectsArchitects

az

点赞0


评论


Chengxuyee_已退Chengxuyee_已退

复制粘贴很好用啊

先复制一个

粘贴到10个的时候在复制这10个

用这10个粘贴10次变成100个

在复制这100个

……emotion_doge

点赞0


评论


不起眼的账号不起眼的账号

奆...

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

Hey......

点赞0


评论


stickmanstickman

JUST TRY THIS CODE(TITTER)

while True:
   print("电脑崩屏预备……")

点赞0


评论


一块蒙脱石一块蒙脱石

for应该是这样

for(int i;i<10;i++)

是吧?

点赞0


评论


云游box3der尖头叉子云游box3der尖头叉子

foriinrange(50,3) print(1)

点赞1


评论


任尔东西南北风(代码BIT)任尔东西南北风(代码BIT)

print("[doge]")
print("帖子里怎么那么多doge")

点赞1


评论


小苏打_小苏打_

print([i*3+1 for i in range(50)])

有比这更短的吗 :(

 

<doge /><狗头保命 />

点赞0


评论


孤言孤言

center_image

点赞2


评论


OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

我扩展一下

print(range(3))

会显示:

range(0,10)

点赞0


评论


一块蒙脱石一块蒙脱石

print('O',end='')
while True:
    print('h',end='')

点赞0


评论


该账号已被封禁该账号已被封禁

《某 人 的》

点赞0


评论


疯狂的ren疯狂的ren

for i in range(1,100):
    print(i,end' ')

点赞0


评论