【Python】控制结构,这个教程一般人我不给

前言

还有多少人不会python的控制结构,在评论区告诉我,让我一个个点名提问。今天,就教会你python的控制结构…

分行与缩进

分行

•一条语句占用一行

•过长的语句可以占用多行,使用\或()控制换行

•[]、{}、()可以直接跨越多行,在列表、字典、元组中需要换行的时候也可以不用添加续行符

a = 1
b = 2
c =a +b
income = (gross_wages
               +taxable_interest
               - ira_deduction)

 

在这里插入图片描述

缩进

•四个英文空格

•同一代码块的语句缩进长度要相等

•源文件的第一行不需要缩进

python学习交流Q群:906715085###
if 条件表达式:
    执行语句
    ......
else:
    执行语句1
    ......

 

顺序结构

•按照从上到下的顺序,一条语句一条语句的执行

◾最基本的结构

◾代码自上而下,依次执行

◾按照解决问题的顺序写出相应的语句即可

开始
把冰箱门打开
把大象装冰箱
把冰箱门关上
结束

 

在这里插入图片描述

选择结构

根据判断再执行决定内容

•使用if…else…语句表示

把冰箱门打开
if 大象能装入:
    把大象装冰箱
else:
    去找一个更大的冰箱
把冰箱们关上

 

•通过一条或多条语句的执行结果(True或False)来决定执行的代码块

•基本形式为if…else…语句

◾if条件语句与else后均有冒号

◾语句都要在if和else语句之后的代码块要缩进

◾判断条件常用>、<、==、>=、<=

◾判断条件为真时,执行代码块1

◾判断条件不成立时,执行代码块2

在这里插入图片描述

单分支、双分支、多分支结构

单分支

•只有一个if语句

◾如果条件正确就执行一个单向if语句

◾当且仅当条件为True时,才执行对应的操作

if salary >= 10000:
    print("I am Happy!") 

 

双分支

•if-else语句根据判断条件真假决定执行哪个动作

◾如果判断条件为True时,则执行if语句下的代码块

◾如果判断条件为False时,执行else语句下的代码块

if salary >= 10000:
    print("I am Happy")
else:
    print("I am Fine!")

 

在这里插入图片描述

多分支

•实现更精细的条件判断

◾elif是else if 的缩写,可以有多个elif

◾elif是更精细的判断条件,并且以冒号结束

◾条件判断从上到下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行

◾此时要注意条件顺序

if salary >= 10000:
    print ("happy")
elif salary >= 5000:
    print("ok")
else:
    print("sad")

 

循环结构

while循环

•只要条件满足,就一直循环

◾在某条件下,循环执行某段程序,用于处理重复相同的任务

◾while语句后有冒号

◾判断条件为真时,执行代码块1,代码需要缩进

◾判断条件为假时,执行代码块2,代码应取消缩进

◾注意防止死循环产生

while 判断条件:
    代码块1
代码块2

 

在这里插入图片描述

for-in循环

•方法1:使用range()函数

◾for语句最后有冒号

◾循环中的语句需要缩进

◾range()函数可创建一个整数列表,一般与for循环结合使用

range(start, end, step=1)
range(5): 0,1,2,3,4 没有5
range(1,5):1,2,3,4  没有5
range(1,5,2): 1,3

 

•for 变量名 in range(5)

patients = ["Alice","Bob","Cathy","Eric"]
for index in range(len(patients)):
    print(index,patients[index])
    
结果:
0 Alice
1 Bob
2 Cathy
3 Eric

 

•方法2:使用序列项迭代列表对象

◾直接把序列中的每个元素迭代出来

◾for语句最后要有冒号

◾循环中的语句需要缩进

◾把每个元素代入变量x,然后执行缩进的代码块

for x in sequence
    代码块
    
patients = {"Alice","Bob","Cathy","Eric"}
for patient_name in patients:
    print(patient_name)
        
结果:
Alice
Bob
Cathy
Eric

 

•方法3:使用枚举函数迭代序列对象

for index,x in enumerate(sequence):
    代码块

 

•enumerate()函数将序列对象转换为一个索引序列,并返回序列对象的索引和元素

◾Index为返回的索引计数(从0开始)

◾x为返回的序列元素

patients = ["Alice","Bob","Cathy","Eric"]
for index,patient_name in enumerate(patients):
    print(index,patient_name)

结果:
0 Alice
1 Bob
2 Cathy
3 Eric

 

break&continue

break

•用在while和for循环中

•用于提前退出循环

•通常配合if语句使用

continue

•用于while和for循环

•跳过当前的这次循环,直接开始下一次循环

•通常配合if语句使用

不要滥用break和continue语句

•break和continue会造成代码执行逻辑分叉过多,容易出错

•大多数循环并不需要用到break和continue语句

如果代码写的有问题,会让程序陷入”死循环“,可以使用Ctrl+C退出程序,或者强制结束python进程

最后

今天的分享到这里就结束了,喜欢的记得点赞收藏,下一章见啦!!!!

在这里插入图片描述

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【Python】控制结构,这个教程一般人我不给 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 初学者必犯的10个Python错误

    前言 当我们开始学习Python时,我们会养成一些不良编码习惯,而更可怕的是我们连自己也不知道。 我们学习变成的过程中,大概有会这样的经历: 写的代码只能完成了一次工作,但后来再执行就会报错或者失败,令人感到懊恼, 或者偶然发现一个内置函数可以让你的工作更轻松时,瞬间豁然开朗。 我们中的大多数人仍然有很多使用Python的坏习惯,这些习惯在我们学习pytho…

    Python开发 2023年4月2日
    00
  • Python爬取站长之家网页信息(附详细源码)

    一、实验目的 在信息时代高速发展的现在,“互联网+”的使用日趋zhanzhang过互联网学习知识,传递思想,沟通交流,在众多数据和用户的碰 撞中,互联网经济应运而生。学会利用网络收集信息是最基本的要求,接下来,我将以“行业网站”——站长之 家为例,通过Python爬取各个网站的信息(主要为名称、Alexa周排名、反链数等)来更直观、准确地分析其中各个网站在互…

    Python开发 2023年4月2日
    00
  • 如何使用 Python 实现彩票自由(大乐透)

    前言 有没有小伙伴喜欢买股票的,我自己是不会玩的,不是不想玩,是真的挽不回,只能玩比较简单一点的刮刮乐。虽然我不会买股 票,但是用python分析股票还是简简单单的… 全国有很多彩民,其中购买最多的彩种分别是体彩大乐透和福彩双色球;虽然中大奖的概率极低,但是彩民纷至沓来,一方面抱 着一份中奖的希望,另一方面想为公益事业贡献自己的一份薄力 本篇文章将介绍 Py…

    Python开发 2023年4月2日
    00
  • 利用Python破解视频网站的VIP视频,终身会员不是梦

    一、前言 好想看电视啊!!没有会员,怎么办啊?想在线观看或下载爱奇艺、PPTV、优酷、网易公开课、腾讯视频、搜狐视频、乐视、土豆、A站、B站等主流视频网站的VIP视频?又不想充会员怎么办?今天给你分享Python小技巧,实现你的VIP看电视的梦想。 PS:本软件只用来交流学习,请勿用于商业用途。如涉及版权侵权等问题,请联系我,我会删除文章。我可是守法的好公民…

    Python开发 2023年4月2日
    00
  • Python人工智能之图片识别,一行代码实现图片文字识别

    我们以识别诗词为例下面是我们要识别的图片 先看下效果图 我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。 一行代码就能识别图片,我们背后要做些准备工作的 •这里我们需要用到两个库:pytesseract和PIL •同时我们还需要安装识别引擎tesseract-ocr 下面就来讲讲这几个库的安装,因为只有这几个库安装好以后Python…

    Python开发 2023年4月2日
    00
  • Python实战项目7个有趣的小游戏

    每天都会分享几个有趣的Python小知识,现在给大家分享几个适合新手练习的小项目,好玩不烧脑,提升技能不在话下。等会就叫你的室友跟你一起VS,轻轻松松成为卷王。 但是问题有三个: 1、你不知道已经有哪些轮子已经造好了,哪个适合你用。有名有姓的的著名轮子就400多个,更别说没名没姓自己在制造中的轮子。 2、确实没重复造轮子,但是在重复制造汽车。包括好多大神写的…

    Python开发 2023年4月2日
    00
  • Python迭代对象、迭代器与生成器

    关系图 1.可迭代对象(iterable) 一个具备__iter__()方法的对象,就是一个可迭代对象,但是要成为一个正常的可迭代对象那么就需要遵循协议。这个方法必须返 回一个迭代器。 可迭代协议: 含__iter__()方法。且可迭代对象中的__iter__()方法返回的是一个对应的迭代器。(如list对应的迭代器就是 list_iterator) 以下代…

    Python开发 2023年4月2日
    00
  • Python量化交易之预测茅台股票涨跌

    前言 本文摘自清华大学出版《深入浅出Python量化交易实战》一书的读书笔记,这里把作者用KNN模式做的交易策略,换成了逻辑回归模型,试 试看策略的业绩会有怎样的变化。 二话不说,上梯子,导库拉数据: Python学习交流Q群:906715085### import pandas as pd import pandas_datareader.data as …

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部