Python循环结构
创始人
2024-06-02 05:57:53
0

文章详细介绍了Python中的循环结构,包括for循环、while循环以及range()函数的使用方法。

Python提供了很多种循环结构,其中最常用的是for循环和while循环。

当我们写代码的时候,有时候需要重复执行同一个或一些指令。例如,如果我们想要编写一个控制机器人踢足球的程序,当机器人持球并且没有进入射门范围时,我们需要一直发出指令让机器人向球门方向移动。在这种情况下,让机器人向球门方向移动是一个需要重复执行的动作,我们可以使用分支结构来判断机器人是否持球以及是否进入射门范围。另一个例子是,如果我们想要在屏幕上每隔1秒钟打印一次“hello, world”,并持续打印一个小时,我们不可能直接将代码print('hello, world')重复写3600次,这时就需要使用循环结构。

for-in循环

循环结构是程序中控制某个或一些指令重复执行的结构。在Python中,有两种方法来构建循环结构:一种是for-in循环,另一种是while循环。

for循环可以遍历序列(如列表、元组、字符串等)中的每个元素,并对其进行操作。语法如下:

for item in sequence:# 执行操作

item是序列中的每个元素,sequence是要遍历的序列。在循环体中,可以对item进行任何操作。

例如:用for循环实现1~100求和

sum = 0
for x in range(101):sum += x
print(sum)

需要说明的是上面代码中的range(1, 101)可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in循环中,就可以通过前面的循环变量x依次取出从1到100的整数。当然,range的用法非常灵活,下面给出了一个例子:

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

我们可以使用for-in循环来遍历一个可迭代对象,例如字符串和列表。对于字符串,循环变量将依次取到字符串中的每个字符。对于列表,循环变量将依次取到列表中的每个元素。下面是一些例子:

  • 遍历字符串:“hello, world”
for ch in "hello, world":print(ch)
  • 遍历列表:[1, 2, 3, 4, 5]

while循环

while循环则是在满足条件的情况下反复执行循环体中的语句。语法如下:

while condition:# 执行操作

condition是循环的条件,只有在满足条件的情况下才会执行循环体中的语句。在循环体中,应该有一些操作可以改变condition的值,否则循环会一直执行下去,直到程序崩溃或者手动停止。

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True则继续循环;表达式的值为False则结束循环。

下面我们通过一个“猜数字”的小游戏来看看如何使用while循环。猜数字游戏的规则是:计算机出一个1到100之间的随机数,玩家输入自己猜的数字,计算机给出对应的提示信息(大一点、小一点或猜对了),如果玩家猜中了数字,计算机提示用户一共猜了多少次,游戏结束,否则游戏继续。

import randomanswer = random.randint(1, 100)
counter = 0
while True:counter += 1number = int(input('请输入: '))if number < answer:print('大一点')elif number > answer:print('小一点')else:print('恭喜你猜对了!')break
print('你总共猜了%d次' % counter)
if counter > 7:print('你的智商余额明显不足')

除了for循环和while循环,Python还提供了range()函数,用于生成一个序列。range()函数有三个参数:起始值、终止值和步长。语法如下:

range(start, stop[, step])

start是序列的起始值,默认为0;stop是序列的终止值,但不包括在序列内;step是序列的步长,默认为1。使用range()函数可以轻松地生成一个数字序列,再用for循环进行遍历操作。

练习题

免费下载答案源码

练习1:输入一个正整数判断是不是素数。

提示:素数指的是只能被1和自身整除的大于1的整数。

参考答案:
在这里插入图片描述

练习2:输入两个正整数,计算它们的最大公约数和最小公倍数。

提示:两个数的最大公约数是两个数的公共因子中最大的那个数;两个数的最小公倍数则是能够同时被两个数整除的最小的那个数。

参考答案:

在这里插入图片描述

练习3:打印如下所示的三角形图案。

*
**
***
****
*****
    **********
*****
    ****************
*********

参考答案:

在这里插入图片描述
免费下载答案源码

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...