python 题目: 怎么把python while循环环输出的每一个整数放进列表里呀?

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
what's the python之if判断、while循环以及for循环
摘要:Python的缩进有以下几个原则:顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进同一级别的代码,缩进必须一致官方建议缩进用4个空格Python程序语言指定任何非0和非空的布尔值为true,0或者空的布尔值为false。&&&&&&&&&&&&&&&&if判断&&&n
顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
同一级别的代码,缩进必须一致
官方建议缩进用4个空格
Python程序语言指定任何非0和非空的布尔值为true,0 或者空的布尔值为false。
& & & & & & & & & & & & & & & &if判断 & && & & & & & & & & & & & & &&
what's the if 判断?
Python 编程中的 if判断语句用于控制程序的执行,基本形式为:
其中&判断条件&成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句
具体举栗说明
score=input('&&: ')score=int(score)if score &= 90:
print('A')#用户输入的数大于等于90时走这里elif score &=80:
print('B')#用户输入的数大于等于80时走这里elif score &=70:
print('C')#用户输入的数大于等于70时走这里elif score &=60:
print('D')#用户输入的数大于等于60时走这里else:#用户输入的数不符合以上规范时走这里
print('E')
python 的多个条件判断,用 elif 来实现,如果需要对多个条件进行同时判断时,可以使用or和and, or (或)表示两个条件有一个成立时判断条件成功;and (与)表示只有两个条件同时成立的情况下,判断条件才成功。
num1=6num2=10if num1&3 and num2&20:
print('num1&3并且num2&20同时成立时走这里')else:
print('有一个条件不满足')if num1&3 or num2&5:
print(' 只要num1&3和num2&5两者中走一个成立就走这里')else:
print('两个条件都没有被满足')
& & & & & & & & & & & & & &&while循环 & & & & & && & & & & & & &&
what's the while 循环?
当程序需要循环使用某段代码时,对这段代码进行复制粘贴就可以,可是这是极其low的方法。我们可以使用while循环。
&while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空的值均为true。当判断条件假false时,循环结束。
基本形式为:
while 条件:
循环体的代码1
循环体的代码2
循环体的代码3
count=0while count & 10:
print(count)
count+=1while True: #死循环
print('ok')while 1: #死循环
print('ok')
当while的条件始终为True或1(1就代表True,0代表False)时,循环就进入了死循环,即循环永远不会结束。死循环是有应用场景的,不过最后肯定需要某个机制帮助我们跳出死循环,这里就用到了break功能。
break:跳出本层循环
break的功能就是时循环结束,无论原来的代码进行到何种程度,只要碰到break,这层缩进的代码就结束,接下来运行上一层缩进的内容。下面用代码举个栗子
count=0#初始的count值为0while count & 10:#当count&10时执行缩进的语句
if count == 5:#当count的值等于5时执行缩进语句
break#当count的值等于5时停止循环
print(count)#当count的值不等于5时执行
count+=1#即count=count+1
print('循环结束')#停止循环后执行
continue:跳出本次循环
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。它与break不同的地方是break一执行本层的循环就终止了然后执行while循环之后的同级代码,而continue只是使continue以后的代码被跳过,循环继续执行,即碰到continue后本次循环结束进入下一次循环。下面用代码举个栗子
#输出0123789count=0#初始的count值为0while count & 10:#当count&10时执行缩进语句
if count &=4 and count &=6:#当count大于等于4并且小于等于6时执行缩进语句
count += 1#count=count + 1
continue#本次循环结束,以下代码不执行,返回while位置
print(count)
while循环也可以和else连用,并且在最后执行,而且只能在while循环没有break打断的情况下才执行。
嵌套的定义:在循环中又套用了循环,具体实例会在下面的习题中出现
& & & & & & & & & & & && &for循环 & & && & & & & & & & & & && & & &
what's the for 循环?
& 与while类似也是循环语句,for循环可以遍历任何序列的项目,可循环取出字符串、列表、元祖、字典中的各元素。
基本的语法格式为
for iterating_var in sequence:
statements(s)
用代码举栗说明
msg1='hello'msg2=['a','b','c','d','e']msg3=('a','b','c','d','e')for i in range(len(msg1)):#range是范围,即当i在msg1的长度范围以内时执行以下代码
print(i,msg1[i])#输出的是元素的位置序数和元素#结果为1 h#
5 o#range顾头不顾尾,默认从0开始for i in range(1,10,1):#最后一个1的意思是步距为1
print(i)#for循环也可与break、continue、else连用,方法与while相似
用for循环对字典进行遍历
#循环取字典的keyfor k in info_dic:
print(k)#循环取字典的valuefor val in info_dic.values():
print(val)#循环取字典的itemsfor k,v in info_dic.items(): #k,v=('name', 'egon')
print(k,v)
这里利用for循环顺便补充几个小知识点
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')years = (, )#sorted:排序for album in sorted(albums):
print(album)#字符串按长度排序#reversed:翻转for album in reversed(albums):
print(album)#enumerate:返回项和for i in enumerate(albums,100):#默认从0开始
print(i)'''(100, 'Poe')(101, 'Gaudi')(102, 'Freud')(103, 'Poe2')'''#zip:组合,一一对应并以元祖的形式返回for i in zip(albums,years):
print(i)'''('Poe', 1976)('Gaudi', 1987)('Freud', 1990)('Poe2', 2003)'''
for循环和while循环一样都可以进行嵌套,下面用一个九九乘法表作为举例。
for line in range(1,10):
for row in range(1,line+1):
print('%s*%s=%s'%(line,row,line*row),end=' ')
print()#print默认end='/n',即会自动回车,这里设置end=' '就不会自动换行了
这里插一个小知识点
占位符:%s(可以为字符串占也可以为数字),%d(只能作为数字的占位符)。
占位符即实现占位用的,之后可以进行传值。传值方式如上面的九九乘法表中所示,每个占位符只能传一个值
最后引入几道习题,帮助更好的了解while循环
习题一:输出1到100所有的数字
#使用while循环count=0while count&=100:#只要比100小就不断执行以下代码
print('number',count)
count+=1#即每执行一次就把count+1#当count&100时,判断就为false,自动跳出循环#使用for循环for i in range(101):#顾头不顾尾
习题二:输出1到100内的所有偶数,包括100
#使用while循环count = 0while count &= 100 :
if count % 2 == 0:#是偶数
print('number',count)
count+=1#使用for循环for i in range(1,101):
if i%2==0:
习题三:输出1到100内的所有奇数,包括100
#使用while循环count = 0while count &= 100 :
if count % 2 == 1:#是奇数
print('loop',count)
count+=1#使用for循环for i in range (1,100):
if i%2==1:
习题四:输出1-2+3-4+5-6+7-8....+99的和
sum=0for i in range(1,100):
if i%2==1:
elif i%2==0:
sum+=-iprint(sum)
习题五:输出1-9,并在最后输出一段话
count=0while count & 10:
if count == 3:
print(count)
count+=1else: #最后执行
print('在最后执行,并且只有在while循环没有被break打断的情况下才执行')#0#1#2#4#5#6#7#8#9#在最后执行,并且只有在while循环没有被break打断的情况下才执行
习题六:用户登录程序交互小习题
while True:#死循环
name=input('please input your name: ')#让用户自行输入名字
password=input('please input your password: ')#让用户自行输入密码
if name == 'jack' and password == '123':#如果输入的名字为jack并且密码是123
print('login successfull')#输出登陆成功
while True:#死循环
cmd=input('&&: ')#让用户输入命令
if cmd == 'quit':#如果输入的命令是quit的话
break#本层死循环结束,即内层死循环结束
print('====&',cmd)#如果输入的命令不是quit的话,打印输入的命令
break#本层死循环结束,即外层死循环结束
else:#如果输入的名字不为jack或者密码不是123
print('name or password wrong') #输出错误,并重新输入名字和密码
习题七:猜年龄的游戏
#允许猜3次乔布斯的年龄JOBS_AGE=55#定义一个常量,乔布斯55岁count=1#次数为1while True:#死循环
if count&3:#当次数超过3时
break#循环结束
age=input('猜猜年龄:')#用户交互,让用户输入他猜的年龄
age=int(age)#输入的内容是字符串的格式,需强转成数字格式才可与数字进行比较
if age&JOBS_AGE:
print(&你猜的太大啦&)
elif age&JOBS_AGE:
print(&你猜的太小啦&)
print(&恭喜你猜对了&)
break#猜对了以后执行,即循环结束
count+=1#没猜对的情况下count会加1,当count&3的时候就不让猜咯
进阶大作业一:实现简易购物清单
要求如下:给出以下购物列表,用户输入想要购买的物品,之后让用户输入想要购买该物品的数量,打印物品名、价格即数量。用户可循环输入
msg_dic={ 'iPhone':4000, 'apple':10, 'mac':8000, 'lenovo':3000, 'chicken':28}
'iPhone':4000,
'apple':10,
'mac':8000,
'lenovo':3000,
'chicken':28}goods_l=[]while True:
for k in msg_dic:
print('NAME:&{name}& PRICE:&{price}&'.format(name=k,price=msg_dic[k]))
name=input('please input your goods name:').strip()
if len(name)==0 or name not in msg_dic:continue
while True:
count=input('please input your count:').strip()
if count.isdigit():break
goods_l.append((name,msg_dic[name],int(count)))
print(goods_l)简易购物清单
进阶大作业二:实现简易工资条
要求如下:给出一个系统让用户输入自己的名字、密码、工资和工作时长,系统中可供用户查询自己的总工资和用户身份,查询结束后可退出程序。(jobs是顶级用户(super user),cook和cue是普通用户(normal user),其他皆为不知名用户(unknown user)
tag = Truewhile tag:
user = input(&请输入用户名:&)
if user == &&:
print(&用户名不能为空,请重新输入:&)
password = input(&请输入密码:&)
if password == &&:
print(&密码不能为空,请重新输入:&)
work = input(&请输入工作了几个月&)
if work == && or work.isdigit() == False:
print(&工龄不能为空且必须为整数,请重新输入:&)
money = input(&请输入工资:&)
if money == && or money.isdigit() == False:
print(&工资不能为空且必须为整数,请重新输入:&)
1查询总工资
2查询用户身份
while tag:
choose = input('&&')
if choose == && or choose.isdigit() == False:
print(&输入有误,请重新输入&)
if choose == '1':
总工资为:%s
1查询总工资
2查询用户身份
''' % (int(work)*int(money)))
elif choose == '2':
if user == 'jobs':
super user
1查询总工资
2查询用户身份
elif user == 'cook' or 'cue':
normal user
1查询总工资
2查询用户身份
unknow user
1查询总工资
2查询用户身份
elif choose == '3':
tag = False
print('没有这个选项')
continue简易工资条
进阶大作业三:实现省市县三级菜单
要求如下:给出一个三级菜单,要求能循环输出省、市、县
'浙江省':{
'杭州市':{
'西湖区':{
'西湖':{},
'雷峰塔':{},
'临安区':{
'天目山':{},
'大明山':{},
'白水涧':{},
'萧山区':{
'机场':{},
'余杭区':{
'西溪湿地':{},
'良渚遗址':{},
'塘栖古镇':{},
'上城区':{},
'下城区':{},
&人民广场&:{
'炸鸡店':{}
'火车战':{
'浦东':{},
'山东':{},}
'浙江省':{
'杭州市':{
'西湖区':{
'西湖':{},
'雷峰塔':{},
'临安区':{
'天目山':{},
'大明山':{},
'白水涧':{},
'萧山区':{
'机场':{},
'余杭区':{
'西溪湿地':{},
'良渚遗址':{},
'塘栖古镇':{},
'上城区':{},
'下城区':{},
&人民广场&:{
'炸鸡店':{}
'火车战':{
'浦东':{},
'山东':{},}exit_flag = Falsecurrent_layer = menulayers = [menu]print(layers)while not
exit_flag:
for k in current_layer:
choice = input(&&&:&).strip()
if choice == &b&:
current_layer = layers[-1]
#print(&change to laster&, current_layer)
layers.pop()
elif choice not
in current_layer:continue
layers.append(current_layer)
current_layer = current_layer[choice]省市县三级菜单
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
为您提供0门槛上云实践机会
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
what's the python之if判断、while循环以及for循环相关信息,包括
的信息,所有what's the python之if判断、while循环以及for循环相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International完完全全的零基础Python教程!只要你有点计算机基础!此篇包会!
Python是最广泛使用的语言之一。无论是Web开发,机器学习和AI,甚至是微控制器编程,Python已经发现了它的位置。
本文简要介绍了Python对于初学者的语言。该文章针对绝对的初学者,没有以前的Python经验,尽管一些以前的编程知识将有所帮助,但不一定需要。
我发现最好的学习方法是尝试理解理论,然后自己实现这个例子。记住,除非你练习,你才能会好的掌握编程!在给大家分享之前呢,小编推荐一下一个挺不错的交流宝地,里面都是一群热爱并在学习Python的小伙伴们,大几千了吧,各种各样的人群都有,特别喜欢看到这种大家一起交流解决难题的氛围,群资料也上传了好多,各种大牛解决小白的问题,这个Python群: 欢迎大家进来一起交流讨论,一起进步,尽早掌握这门Python语言。
本文分为以下几个部分:
安装和设置
运行你的第一个程序
列表,元组和字典
为什么要学习Python
问题出在这里,为什么你应该学习Python。还有很多其他的编程语言 你甚至可能会学到一些。那么为什么Python,那么特别呢?学习Python有各种各样的原因,其中最重要的已经在下面列出。
容易学习Python被认为是最适合初学者的语言之一。Python的语法是最简单的。您不必学习复杂的变量类型,使用括号来分组代码块等等。Python建立在初学者的基本原则之上。
高度按需据Indeed.com最近的一项调查显示,Python开发人员是美国第二高的付费开发人员。Python的巨大工作潜力可以通过以下事实来估计:在2014年,程序员的平均招聘率下降了5%,但Python开发人员仍然增长了8.7%。
理想的Web开发与其他Web开发语言(如PHP和ASP.NET)相比,Python的速度更快。此外,Python拥有诸如Django,Flask和Pylons等众多惊人的框架,使Web开发更加简单。像Instagram,Pinterest和The Guardian这样的网站都是基于流行的Django框架。
用于机器学习和AIPython是机器学习和人工智能操作中使用最广泛的语言。与MATLAB或R相比,像TensorFlow和scikit-learn这样的Python库可以使AI任务变得更简单,以前是数据科学和AI任务中使用最广泛的环境。
与Raspberry Pi合作Python是Raspberry Pi最流行的编程语言,它是一种用于广泛应用的袖珍微型计算机,如机器人,游戏机,玩具等。简而言之,学习Python,如果你想用Raspberry Pi构建东西。
公司亲爱的如果我们说Python是所有所有大型企业公司(如谷歌,雅虎,NASA,迪斯尼,IBM等)的宠儿,这并不夸张,这些公司已经将Python纳入其许多应用程序的核心。
大社区Python拥有最大的在线编程社区之一,并且不断增长。Python拥有第五大Stack Overflow社区和第三大会议社区。最重要的是,它是GitHub中第四大使用的语言,这意味着有大量现有的代码可以学习。
安装和设置
虽然有几种方法来安装Python for Windows,但为了这篇文章,我们将使用Anaconda。这无疑是当前应用最广泛的Python环境。要下载Anaconda,
向下滚动一下,您应该会看到下载选项。选择,Python 3.6如下图所示:
这将会将Anaconda安装程序下载到您的计算机。打开安装程序,您将看到以下选项:
请按照以下步骤进行安装
点击“下一步”按钮。条款和条件将出现,您可以阅读如果您有足够的时间,但您可以单击“我同意”反正。
在下一个窗口中选择所需的安装类型。如果你是Python的绝对初学者,我建议选择“Just me”选项。
接下来,选择安装文件夹(默认是最好的)。
将出现“提前选项”对话框,不保留第一个选项,第二个选中,然后单击“安装”。这在下面的屏幕截图中显示。
现在坐下来喝点咖啡,安装可能需要一些时间。
安装完成后,您将看到消息:
单击“下一步”,然后单击随后的对话框中的“完成”按钮完成安装。
运行你的第一个程序
虽然您也可以通过命令行运行Python程序,但通常更适合初学者使用文本编辑器。幸运的是,安装Anaconda后,您也可以安装Jupyter Notebook。“Jupyter笔记本”是一个基于云的应用程序,允许用户创建,共享和管理他们的文档。我们将使用Jupyter在本文中编写我们的Python代码。
要打开Jupyter,您可以进入“开始菜单”,找到“Jupyter Notebook”应用程序。您也可以在应用程序中搜索它。如下所示:
打开“Jupyter Notebook”应用程序。然后,它将在默认浏览器中打开。为了兼容,我建议您将Google Chrome用作默认浏览器,但其他浏览器类型(如Firefox)也可以正常工作。
当您的浏览器中打开应用程序时,您将看到以下页面:
在页面的右侧,您将看到一个选项“新建”。单击该按钮,将出现一个下拉列表。从下拉列表中选择“Python 3”。这将为您打开一个全新的笔记本,看起来像这样:
在这里,您可以轻松地编写,保存和共享您的Python代码。
我们来测试一下,确保一切正常。为此,我们将创建一个将字符串打印到屏幕的简单程序。
在Jupyter笔记本中的文本字段中输入以下代码(如上图截图所示):
print("Welcome to Python!")
它print确实是什么听起来像,它只是打印一些文本到屏幕。要显示的文本是在print关键字后面的括号内的双引号内输入的。
要在“Jupyter Notebook”中运行代码,只需按“Ctrl + Enter”即可。以上代码的输出应如下所示:
在那里你有它,我们已经成功地执行了我们的第一个Python程序!在接下来的部分中,我们将继续使用Jupyter教授和讨论一些核心的Python功能,从变量开始。
Python变量
简单地说,变量是存储一些数据的内存位置。您可以使用变量来存储值,无论是数字,文本还是布尔值(true / false)值。当您需要在代码中再次使用该值时,您可以简单地使用保存该值的变量。你几乎可以把它们当成一个容器来存储,以供以后使用。
Python中有五种不同的核心数据类型:
在本节中,我们将只会看看数字和字符串,并将在本文后面的各自部分进一步介绍。
变量的数字类型存储数字数据。看下面简单的例子:
Python中有四种不同的数据类型:
整数,如真正的全价值数字:10
长整型,最后为“L”,值为1024658L
这些也可以十六进制和八进制形式使用
浮点数据,数字用小数表示:3.14159
复数数据,用于表示复数类型:2 + 3j
字符串用于在Python中存储文本数据。看下面的例子:
Python中的运算符
编程中的运算符是允许您操作操作数来执行特定功能的结构。它们与现实生活中的运算符非常相似,例如算术运算符,例如加法,减法,大于,小于,和/或运算符等。
Python中有七种类型的运算符:
算术运算符
逻辑运算符
作业经营者
比较运算符
按位运算符
身份运营商
会员运营商
在这篇文章中,我们将保持简单,仅研究前四名运营商。其他运营商超出了本文的范围。
算术运算符
算术运算符对操作数执行加法,减法,乘法,除法和指数函数等数学运算。算术函数的细节已在下表中给出:
您可能还记得在“数字”数据变量部分中先前看到算术加法运算符的一个例子。在Python中,加法运算符可以应用于任何类型的数字,甚至字符串。
逻辑运算符
Python支持的逻辑运算符可以帮助您执行简单的布尔代数如下:
假设o1和o2有价值观True和False分别。
所有条件都返回true
(o1 and o2) 是假的
如果任何条件为真,则返回true
(o1 or o2) 是真的
返回实际逻辑状态的相反
Not(o1) 是假的
以下代码有助于以上例解释上述操作符:
以上代码的输出是:
作业经营者
赋值操作符允许您给变量赋予一个值,这可能是操作的结果。下表包含一些Python中最广泛使用的赋值运算符:
将右侧的值分配给左侧的变量
r = n1 + n2分配的值n1 + n2成r
添加和分配
添加操作数并将结果分配给左侧的变量
n1 += n2 是相同的n1 = n1 + n2
减去和分配
从左侧减去右侧的操作数,并将结果分配给左侧
n1 -= n2 手段 n1 = n1 - n2
将两个操作数相乘并将结果分配给左边的一个
n1 *= n2 手段 n1 = n1 * n2
划分和分配
划分两个操作数,并将结果分配给左边的一个
n1 /= n2 手段 n1 = n1 / n2
模数和分配
通过将左操作数除以右边来获取模数,并将结果分配给左边的操作数
n1 %= n2 手段 n1 = n1 % n2
指数和分配
将右操作数指向左侧,并将值分配给左侧
n1 **= n2 手段 n1 = n1 ** n2
看看下面的例子来看看一些赋值操作符的操作:
以上代码的输出将是:
6 2 8 2 .0
意在最后一个操作中我们得到一个浮点数作为结果,而在所有prevoius操作中我们得到整数numberes。这是因为这是我们示例中唯一可以将两个整数转换为浮点数的数学运算。
比较运算符
比较运算符用于比较两个或多个操作数。Python支持以下比较运算符:
假设n1是10,n2在下表中是5。
True如果两个操作数彼此相等,则返回
(n1 == n2) 不是真的
返回true的两个操作数不相等
(n1 != n2) 是真的
如果左操作数大于右操作数,则返回true
(n1 & n2) 是真的
如果左操作数小于右操作数,则返回true
(n1 & n2) 不是真的
如果左操作数等于或大于右操作数,则返回true
(n1 &= n2) 是真的
如果左操作数等于或小于右操作数,则返回true
(n1 =& n2) 不是真的
考虑下面比较运算符的简单例子:
条件语句用于根据特定条件选择要执行的代码块。假设在医院管理系统中,您想要实施一项检查,65岁以上的患者可以接受优先治疗,而其他患者则不能接受有条件的陈述。
有四种类型的条件语句:
“if”语句
“if / else”语句
“if / elif”语句
嵌套“if / else”语句
基本上,第二类和第三类只是第一种语句类型的扩展。
密切注意条件语句的语法。在大多数其他编程语言中,如果“if”条件返回为真,则要执行的代码块被括在括号内。在Python中,您必须在“if”条件之后使用冒号,然后如果条件为true,则必须缩进要执行的代码。
由于没有括号,Python被广泛认为是比许多其他语言更清晰的语言。使用缩进来指定范围,它有自己的利弊。
在上面的例子中,我们有一个age值为67 的变量。我们检查是否age大于65,如果这个条件返回true,那么我们打印一个消息告诉用户他/她有资格获得优先处理。请注意,此消息是缩进的,它告诉我们,在真实条件后执行的代码。最后,我们只需在屏幕上打印感谢信息。此代码的输出将是:
您有资格获得 优先处理。 感谢您对您的光临
现在让我们将age变量的值设置为55,看看差异。
上面的输出如下所示:
感谢您对您的光临
请注意,这一次病情没有恢复正常,因此告诉患者他有资格获得优先治疗的声明不会印在屏幕上。只有问候才出现,因为它们不在“if”语句的内部(缩进)内。
如果/ Else声明
如果“if”语句返回false,则使用“if / else”语句来指定执行的替代路径。看下面的例子:
使用这种方法我刚才描述过,我们可以重写前面的例子,看起来像这样:
该代码将产生与上一个示例相同的输出。
嵌套如果Else声明
嵌套的“if / else”语句用于实现嵌套条件(即另一条件下的条件)。请考虑以下示例:
在这里,我们有一个外部条件,如果age大于或等于65,那么检查病人是否有保险。如果患者有保险,保险公司将在以后付款,否则患者必须提前支付。
迭代语句或更常见的循环用于重复执行一段代码。考虑是否必须在屏幕上打印100人的名字。您将需要编写100个打印语句,或者您必须在一个打印语句中使用数百个转义字符。如果你必须重复执行这个任务,你必须编写数十万繁琐的代码行。更好的方法是使用循环。
Python中有两种主要的循环类型:
请记住,您可以像我们对条件语句一样嵌套循环,但是我们不会在这里进行。
“for循环”用于遍历元素集合。循环继续执行,直到集合中的所有元素都被遍历为止。看一下for循环的简单例子:
上面的例子简单地打印了每个项目的产品nums和5.这里我们有一个nums包含1到10的整数的列表。不用担心,我们将在后面的部分详细研究。现在,只要将其视为一个元素的集合,在这种情况下就是数字。
要注意上面的代码。它遵循以下语法:
“while循环”与“for循环”不同,因为它在一定条件保持返回true的同时继续执行。在while循环的每次迭代之后,重新评估该条件。当条件最终返回false时,while循环停止执行并退出。
看下面的例子:
这里循环将继续执行,直到值x变为负值。该x变量的初始值50,并通过我们5.递减它在每次迭代期间于是,经过10次迭代的值将变为负,然后循环将停止执行。
输出将如下所示:
虽然循环对于您还不知道需要多少次迭代的时间有好处。For循环迭代设置次数,而while循环可以迭代未知的次数,甚至无限次次。
Python中的函数
编程中的功能是执行特定任务的结构。当您必须在整个代码中多次执行任务时,函数可以方便地使用。而不是一次又一次地重写相同的功能,而是可以创建一个执行该任务的函数,然后随时随地调用该函数。
请注意,重复执行任务并多次执行任务之间有区别。循环使用,您必须重复执行任务。另一方面,当您在代码中的不同位置执行相同的任务时,会使用函数。
考虑一个场景,你必须打印一个长的语句来在不同的时间屏幕。而是写一个打印所需语句的函数,然后在要打印语句的地方调用函数。
看下面的例子:
有两件事我想在这段代码中指出:函数定义和函数调用。
函数定义是指定义由函数执行的任务。要定义一个函数,你必须使用关键字def后跟函数的名称,这displayWelcome在上面的例子中。您可以使用任何函数名称,但要使用语义功能。功能名称后面是开和右括号。括号用于定义参数或任何默认输入值,我们将在下一个示例中看到这一点。括号后,您必须使用冒号,并在下一行定义函数的正文。函数通常以return语句结尾,但如果未返回值,则不需要。
在我们的示例代码的第二部分,您将看到函数调用。要调用一个函数,你只需要编写函数名称后跟一对括号。如果函数接受参数,则必须将它们传递给括号。
以上代码的输出将是:
你可以看到我们的长串被打印了两次。之前的“做某事”声明,一旦在之后,哪些符合我们的代码中的函数调用的顺序。
你可以想象这是编程的重要性。如果我们需要执行一个更复杂的任务,如下载文件或执行复杂的计算?多次写出完整的代码是浪费的,这是功能进入的地方。
带参数的函数
现在我们来看看如何将参数传递给一个函数。一个参数只是一个给调用者赋予函数的变量。
我们来写一个函数,它将传递给它的两个数字作为括号中的参数:
列表,元组和字典
列表,元组和字典是编程中最常用的三种数据结构之一。虽然所有这些都存储数据的集合,主要区别在于:
如何将数据放在数据结构中
数据如何存储在结构中
数据结构如何访问数据
在接下来的几个部分中,您将看到每个数据结构的其中一些属性。
列表用于存储不同数据类型的项目集合。元素存储在方括号内,每个元素用逗号分隔开。
我们来看看如何创建一个简单的列表:
randomlist = [ 'apple','banana',True,10,'Mango' ]
您可以看到我们在此列表中存储了字符串,数字和布尔值。在Python中(与其他强类型语言不同),列表可以将任何类型的数据存储在单个列表中,如上所示。然而,更常见的是,列表倾向于存储相同数据类型的许多不同值。
访问列表元素
要访问列表中的元素,只需写入列表变量的名称,后跟一对方括号。括号内指定要访问的元素的索引编号。重要的是要注意,Python(和许多其他编程语言)中的列表,列表索引从0开始。这意味着每个列表中的第一个元素在位置0,最后一个元素在位置n-1,其中n是列表的长度。这被称为零索引。
看看这段代码:
这里我们访问randomlist列表的第一个和第五个元素。输出结果为:
apple Mango
您可能还注意到,列表中的元素保持其存储顺序。除非明确移动或删除它们,否则它们将保持相同的顺序。
分配新列表元素
要将值分配给现有的列表位置,必须指定要为其分配值的位置的索引,然后使用赋值运算符(=)来实际分配该值。
请参阅以下代码:
这里我们更新了列表的第一个元素。我们在更新前后显示元素的值,以显示更改。
添加列表元素
在最后一个小节中,我们展示了如何为列表分配一个值,但是只有当该项目已存在于该位置时才适用。如果我们要扩大列表的大小并添加一个新的项目,而不会摆脱我们以前的任何项目呢?我们通过使用该append()功能来做到这一点。
运行此代码时,您将注意到,在调用该函数后,值0将显示在列表的末尾append。我们的名单现在共有6个元素,包括我们的新价值。
删除列表元素
要删除元素,我们只需使用del关键字。看看下面的例子来看看它是如何使用的:
元组类似于列出,因为它们存储不同数据类型的元素。元组和列表之间的主要区别是元组是不可变的。这意味着,一旦你创建了一个元组,你不能更新元组中的任何元素的值,也不能删除一个元素。
在语法方面,元组与列表不同之处在于它们使用变数,而列表使用方括号。即使所有这些差异,元组仍然非常类似于列表。元素被访问相同,元素顺序被保留,就像列表一样。
这里是如何创建一个元组:
randomtuple =('apple','banana',True,'10 ','Mango')
访问元组元素
元组元素的访问方式与列表相同:
在上面的脚本中,我们访问了元组的第二个和第五个元素。如预期的那样,这将导致以下输出:
赋值给元组元素
如前所述,不可能为已经声明的元组元素分配新值。所以你不能这样做:
randomtuple [1] = 10 #不允许此操作
尝试这样的作业会导致以下错误提出:
类型错误:“元组” 对象不不支持的项目分配
删除元组元素
您不能删除单个元组元素。尝试这样做会导致引起错误,就像我们在尝试重新分配元素时显示的那样:
TypeError:'tuple'对象不支持删除项目
但是,您可以使用“del”功能删除元组本身,如以下示例所示:
像列表和元组一样,字典数据结构存储元素的集合。然而,它们与元组和列表有很大不同,因为它们是键值存储。这意味着您可以给每个值一个键(最常用的是一个字符串或整数),可以用于稍后访问该元素。当您拥有大量数据时,访问数据更有效,而不是遍历整个列表以查找元素。
创建字典时,每个键值对都以逗号分隔,所有元素都存储在大括号中。请参阅以下代码:
randomdict = { 'Make':'Honda','Model':'Civic','Year':2010,'Color':'Black' }
如果您有很多有关特定事物的信息,例如上面显示的汽车示例,则字典非常有用。当您需要访问集合中的随机元素,并且不想遍历一个巨大的列表以访问它们时,它们也很有用。
访问词典元素
使用其键来访问词典元素。例如,如果要访问第一个元素,则必须使用其键,这在本例中为“Make”。看看下面的例子来看这个语法:
这里我们通过他们的键访问randomdict字典的第一个和第二个元素。输出将如下所示:
输出将有:
删除字典元素
删除字典中的元素有三种不同的方法:您可以删除单个元素,您可以删除所有元素,也可以删除整个字典本身。以下示例显示了以下三种方式:
randomdict = { 'Make':'Honda','Model':'Civic','Year':2010,'Color':'Black' }#显示完整的字典打印(randomdict)#删除一个元素德尔 randomdict [ 'Make' ] 打印(randomdict)#清除整个字典randomdict.clear() 打印(randomdict)#删除字典本身del randomdict 打印(randomdict)
这里我们在执行三个删除操作之后显示字典。不要担心代码中的“#”和继续文本 - 这些是对代码的评论。注释不执行,它们只提供有关代码的信息,并且纯粹是可选的。
以上代码的输出将是:
{ 'Color':'Black','Make':'Honda','Model':'Civic','Year':2010 }{ 'Color':'Black','Model':'Civic','Year':2010 }{}追溯(最近呼叫 最后): 文件“dict_test.py”,第 16 行,在&module&打印(randomdict)NameError:名字“randomdict” 是没有定义
请注意,由于我们删除了最后的字典,所以抛出一个错误,randomdict表示没有定义。
现在我们已经经历了Python中的许多最基本的概念,我们来看看它的用法和使用我们学到的一些简单的应用。
假设你有这么多的汽车,你只是不能跟踪他们,所以我们将创建一个应用程序为你做。通过不断询问您是否要将车辆添加到您的库存中,如果您这样做,那么它将会询问汽车的细节。如果没有,应用程序将打印所有汽车的详细信息并退出。
这是完整的代码,我们将在本节的其余部分中详细介绍:
汽车= []add_inventory = raw_input('添加广告资源?[y / n]')而 add_inventory == 'y': #从用户处获取汽车数据make = raw_input('Make:') model = raw_input('Model:') year = raw_input('Year:') miles = raw_input('Miles:') #创建汽车词典对象并保存到 列表 car = { 'Make':make,'Model':model,'Year':year,'Miles':miles} 汽车。追加(车) 问用户是否应该继续下去 add_inventory = raw_input('添加广告资源?[y / n]')print('') print('这是你的车:')#显示所有我们的汽车 的 ?汽车S: 打印(“请:” + ? [ “制作” ]) 打印(“型号:” + ? [ “模型” ]) 打印(“年份:” + ? [ '年' ]) print('Miles:' + c [ 'Miles' ]) print('')
在我们的代码的第一行,我们创建一个列表,将保存我们所有的汽车的细节。列表中的每个元素都将是一个字典项,它将包含“Make”,“Model”等细节。
第二行代码我们使用一个内置的Python函数raw_input(),通过命令行将给定的文本显示给用户,然后等待响应。用户输入的任何文本都将保存在add_inventory变量中。
然后,我们检查用户是否想通过检查“y”字符来添加库存。如果用户想要添加库存,那么我们raw_input()再次使用该功能来收集有关汽车的信息。一旦我们拥有我们所需要的一切,我们创建一个car变量来存储我们所有的汽车数据的字典。然后car使用该append()方法将此字典对象保存在我们的列表中,您可以记住将该元素添加到列表的末尾。
使用“while循环”,我们不断检查用户是否想要添加更多的汽车到他们的库存。只要用户在“添加广告资源”中输入“y”,这可以继续进行 提示,这正是什么“while循环”是有益的。
当用户最后输入“n”(或不是“y”的任何字符)时,我们将打印出他们的库存的完整列表。这是使用“for-loop”完成的。对于列表中的每个项目,我们将当前项目存储在临时c变量中,并使用其键来检索所有相关的汽车数据,然后我们使用字符串连接(或“添加”)将其打印到屏幕上。这将两个字符串组合在一起,然后再打印到屏幕上。
通过命令行运行此代码可能看起来像这样:
$ python cars.py添加库存?[y / n] y 品牌:保时捷 型号: 911 Turbo 年份: 2017 Miles: 2000 添加库存?[y / n] y 品牌:法拉利 型号: 488 GTB 年份: 2016 英里: 12000 添加库存?[y / n] y 品牌:兰博基尼 型号: Aventador 年份: 2017 英里: 8000 添加库存?[y / n] n这是你的车: 品牌:保时捷 型号: 911 Turbo 年份: 2017 Miles: 2000品牌:法拉利 型号: 488 GTB 年份: 2016 英里: 12000品牌:兰博基尼 型号: Aventador 年份: 2017 英里: 8000
下一步是什么?
本文提供了对Python编程语言的非常基本的介绍。我们只涉及最基本的概念,包括变量,运算符,条件语句,循环等等。
整个文章可能专门针对每个这些主题,所以我建议在每个主题上找到更多的资源。要了解更多信息,我个人建议您参加完整的Python Bootcamp课程:从零开始到Python中的英雄,这将引导您更详细地了解所有最重要的概念。
另一个伟大的是完整的Python大师班,更进一步的是面向对象编程甚至数据库的东西。
一旦你在简单的Python概念中找到脚步,就可以转到更高级的主题,比如面向对象的Python。大多数高级编程应用程序现在是基于面向对象的原则。正如刚刚解释的那样,Python也被广泛应用于Web开发,机器学习,数据科学和微控制器,所以尝试一下一切,看看哪个利基对你最有趣。
谢谢阅读,你离入门其实很近!
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点

我要回帖

更多关于 python while循环 的文章

 

随机推荐