投掷骰子的python代码_Python真好玩:循环的力量(上)

在现实生活中,我们经常要重复的做一些事情,例如被老师罚抄单词100个。重复的做一件事情可以加深印象帮助记忆,但是,不停的做同一件事情,会让你昏昏欲睡,这就是为什么我们睡不着的时候,会数绵羊。

533b446478b02e30a547e6a56daedf0e.png

这本次课程学习中,我们来学习Python一个非常有用的内容——循环。它能帮你轻松完成需要重复做很多次的事情,让繁琐的工作变得容易。

for循环

还记得之前我们创建的第一个Python程序吗,打印输出“Hello,World”。

如果我们想输出10次,该怎么办呢?

大家可能会首先想到用复制粘贴的办法,将这句话一遍又一遍的打印出来,但是还是显得啰嗦又麻烦。

959007ff722a62b6a6b17ba832eef3f9.png

 其实你可以把这段代码理解成为,同一个指令重复了10次,所以可以优化为:

重复10次:

print("Hello,World")

for循环语句,就是用来帮你创建循环过程的。

创建新的py文件,输入如下代码:

for num in [1,2,3,4,5,6,7,8,9,10]:

print("Hello,World")

按下F5,保存并运行,看看是否能得到以下运行结果:

99caf64f50f3cc7d31234f6061525f7e.png

这里,我们需要说明2个知识点:

  • for语句的格式

  • 列表的概念

先来了解一个新的数据类型——列表

之前的课程我们讲过,变量就像一个盒子,一个变量可以存放一个数字或者一个字符串。那如果我们有很多数字或者字符串呢?这时候,我们就可以使用比变量更强大的数据类型——列表。

记录三个人的名字,可以用三个字符串变量存储:

name1= “张三”

name2= “李四”

name3= “王五”

我们也可以用一个列表存储多个数据。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

name_list=[“张三”,“李四”,“王五”]

用“[ ]”定义列表,用逗号“,”分隔元素。记得括号和逗号,都需要英文哦!

列表中的每个元素都分配了一个数字,称为索引,代表它在列表中的位置。第一个索引是0,第二个索引是1,依此类推。可以使用下标索引来访问列表中的值。

>>> name_list=['张三','李四','王五']

>>> name_list[1]

'李四'

关于列表的知识点,我们会在后面的课程详细讲解,今天,我们只对列表在循环中的使用做一个大概的说明。

for 语句包含了6个要素

  • 1.    for 关键字

  • 2.    变量

  • 3.    in 关键字

  • 4.    范围

  • 5.    冒号(英文)

  • 6.    循环体(缩进的执行代码块)

5c1fecf00ca1a051bccc7b0e46af4e9f.png

for num in [1,2,3,4,5,6,7,8,9,10]:

for循环,可以用来遍历列表中的每一个对象。

所谓遍历,就是把目标对象的元素,从第一个,到最后一个,都访问一遍。在这里,相当于从1数到了10。

for语句顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在num这个迭代变量中。num的指向从1变成2,然后变成3,一直到10,然后结束循环。

所以,列表有多少个元素,就会循环多少次。

冒号后面的代码块,是每一次循环都要执行的内容,在这里,我们循环了10次,所以要执行10次print("Hello,World")。

为了让你更深刻的理解,我们把代码修改一下:

for num in [1,2,3,4,5,6,7,8,9,10]:

       print(num )

print("Hello,World")

按下F5,保存并运行,看看是否能得到以下运行结果:

6c457653b0fdc551116605cdd34ce8cd.png

由于代码块变成了2段语句,所以我们能很清楚的看到,这段语句一共循环了10次,每一次首先输出的是num变量,然后是print("Hello,World")的内容。num是遍历的列表中的值,从1一直到10,每一次循环都输出当前num的指向值。

提问,以下for循环,输出的结果是什么?

for item in ["苹果","橘子","西瓜"]:

print( "item" )

493bb0f0dc0e893d258c3bb42ec68e3b.png

如果你脑海中的答案是:

5b4bdfd50c8aba88c9b038b06dbb4528.png

那么,你大概忽略了item变量在print语句中被打上了引号,这样print输出的并不是变量,而是“item”这个字符串了。如何修改呢?

对,把引号去掉就行了。

for item in ["苹果","橘子","西瓜"]:

print( item )

再来思考一下,以下代码是否能正常输出列表中的结果呢?

for item in [ "小明",13,"小花", 8 ]:

print( item )

493bb0f0dc0e893d258c3bb42ec68e3b.png

答案是可以的。

50dae6ed9e5c4947dbcc9662f10f57d1.png

列表是可以存储不同的数据类型的。同样是通过逗号来分隔元素。但是我们一般不会这么用。

那要是重复的数字非常大呢?例如一百、一千甚至一万,那岂不是我们要创建一个有很多元素的列表?遇到这样的情况,我们应该如何处理呢?下节课,我们来一起学习。

今日的课后思考题

小明同学在玩掷骰子游戏,一共玩了4次,记录下来的骰子点数分别为4,2,5,3。你能不能写一个循环语句,按照“小明第n次掷骰子的点数是m”这样的格式,打印输出结果呢?

dce668189abafc3eef8924311e6d644c.png

提示,在这段代码中,我们需要定义2个变量,一个是当前的次数,一个骰子的点数,同样,标准化输出的时候,也需要2个占位符。

关注微信公众号,输入“掷骰子”,获取习题答案和讲解。

6a328ed346fab448f481601cd36ccab7.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值