python语法之流程控制(if while for)

一.python语法之流程控制

1.1什么是流程控制?

流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构)、分支结构(判断)、循环结构(while for)

二.分支结构

2.1 什么是分支结构?

分支结构就是根据条件判断的真假去执行不同分支对应的子代码

2.2 为什么要用分支结构?

为了让计算机可以有像人一样的逻辑判断能力去做事

2.3 怎么使用分支结构?

引入if语句

定义:主要是用于判断事物的对错 真假 是否可行

语法结构

#第一种结构if 条件:    代码块#第二种结构if 条件:    代码块1else:    代码块2#第三种结构if 条件1:    代码块1elif 条件2:    代码块2elif 条件3:    代码块3elif 条件n:    代码块nelse:    代码块n+1

案例1:

如果今天下雨,那么就带伞

weather = ‘不下雨‘if weather == ‘下雨‘:    print(‘出门记得带伞‘)

案例2:

如果今天下雨,那么就带伞;反之则不带

weather = ‘不下雨‘if weather == ‘下雨‘:    print(‘出门记得带伞‘)else:    print(‘不用带伞‘)

案例3:

如果:成绩>=90,那么:优秀

如果成绩>=80且<90,那么:良好

如果成绩>=70且<80,那么:普通

其他情况:不合格

score = input(‘请输入您的成绩:‘)score = int(score)  #因为input不管你输入的是什么样的数据类型最终都会转为字符串(str),并且我#们下面的成绩要和数字做对比,所以这里必须要把字符串转化为整型if score >= 90:    print(‘优秀‘)elif score >= 80:    print(‘良好‘)elif score >= 70:    print(‘普通‘)else:    print(‘不合格‘)

案例4:

女人的年龄>=18并且<22岁并且身高>160并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨在表白的基础上继续:如果表白成功,那么:在一起 否则:打印
gender = ‘female‘age = 19height = 161weight = 99is_beautiful = Trueis_success = 1if gender == ‘female‘ and age >= 18 and age < 22 and height > 160 and weight < 100 and is_beautiful:    print(‘表白‘)    if is_success:        print(‘Congratulations, please stay together‘)    else:        print(‘Oh,my Gad.I am not live‘)else:    print(‘叫阿姨‘)

PS:

1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行

2、条件可以是任意表达式,但执行结果必须为布尔类型

3、在if判断中所有的数据类型也都会自动转换成布尔类型

4、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False

5、其余均为True

三 循环结构

3.1 什么是循环结构

循环结构就是重复执行某段代码块

3.2 为什么要用循环结构

人类某些时候需要重复做某件事情

所以程序中必须有相应的机制来控制计算机具备人的这种循环做事的能力

3.3 怎么使用循环结构

while 条件:      代码1    代码2    代码3    ......# while的运行步骤:# 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、......# 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止

案例1

用户登陆认证,认证成功则登陆成功,认证失败则打印登陆失败,最多可认证三次

#在不能使用循环的情况下,我们要重复三次同样的语句name = input(‘请输入您的用户名:‘)password = input(‘请输入您的密码:‘)password = int(password) #因为input将最后输入的内容转化为了字符串,这里不进行转化的话,可以#在下一行代码password == 123 换为 password == ‘123‘if name == ‘bing‘ and password == 123: #进行条件判断    print(‘登陆成功‘)else:    print(‘登陆失败‘)

当因为while循环后,我们就可以这样写

count = 0  #记录登陆失败次数
while count < 3:
    name = input(‘请输入您的用户名:‘)
    password = input(‘请输入您的密码:‘)
    if name == ‘bing‘ and password == ‘123‘: #进行条件判断
        print(‘登陆成功‘)
    else:
        print(‘登陆失败‘)
        count += 1

但是在这里我们会发现一个问题:即使是登陆成功了,循环依然会进行三次,这样显然是不符合我们平常的使用习惯的。那么如何在登陆成功后就结束这个循环呢?下面我们就用到了break

案例2

where + break的使用

count = 0
while count < 3:
    name = input(‘请输入您的用户名:‘)
    password = input(‘请输入您的密码:‘)
    if name == ‘bing‘ and password == ‘123‘: #进行条件判断
        print(‘登陆成功‘)
        break #结束本层循环,单纯指代当前while
    else:
        print(‘登陆失败‘)
        count += 1
案例3

while循环嵌套+break

count = 0
while count < 3:
    name = input(‘请输入您的用户名:‘)
    password = input(‘请输入您的密码:‘)
    if name == ‘bing‘ and password == ‘123‘:
        print(‘登陆成功‘)
        while True:
            cmd = input(‘>>>:‘)
            if cmd == ‘quit‘:
                break
            else:
                print(‘haha‘)
        break
    else:
        print(‘登陆失败‘)
        count += 1
案例四

针对嵌套多层的while循环,如果我们的目的很明确就是要在某一层直接退出所有层的循环,其实有一个窍门,就让所有while循环的条件都用同一个变量,该变量的初始值为True,一旦在某一层将该变量的值改成False,则所有层的循环都结束

count = 0
tag = True
while count < 3:
    name = input(‘请输入您的用户名:‘)
    password = input(‘请输入您的密码:‘)
    if name == ‘bing‘ and password == ‘123‘:
        print(‘登陆成功‘)
        while tag:
            cmd = input(‘>>>:‘)
            if cmd == ‘quit‘:
                tag = False
                #break #此时该break已经没有意义了
            else:
                print(‘haha‘)
        break #如果这里我们不要break也想达到所有循环都结束的目的,可以将第一个while换为tag
    else:
        print(‘登陆失败‘)
        count += 1
案例5

while+continue

continue:跳过本次循环,执行下一次循环(continue下面不管有多少行代码,都不会执行)

打印1到10之间,除了7的数字

count = 0
while count < 10:
    count += 1
    if count == 7:
        continue
    else:
        print(count)
案例6

while+else的使用

在while循环的后面,我们可以跟else语句,当while 循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句,所以我们可以用else来验证,循环是否正常结束

count = 0
while count < 5:
    count += 1
    print(f‘第{count}次‘)
else:
    print(‘结束‘)

for循环

循环结构的第二种实现方式是for循环,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值给我们提供了一种不依赖于索引的取值

语法结构

for 变量 in 容器对象

容器对象有几个值就循环几次

for 变量名 in 可迭代对象: # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象
    代码一
    代码二
    ...

#例1
for item in [‘a‘,‘b‘,‘c‘]:
    print(item)
# 运行结果
a
b
c

# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表[‘a‘,‘b‘,‘c‘]中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
# 步骤2:从列表[‘a‘,‘b‘,‘c‘]中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
# 步骤3: 重复以上过程直到列表中的值读尽

案例1

打印数字0-5

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

count = 0
while count < 6:
    print(count)
    count += 1
案例2
for i in {‘name‘: ‘bing‘, ‘age‘: 21, ‘gender‘: ‘male‘}:
    print(i)

PS:字典对象,无法直接访问值(value)

案例3

for循环嵌套

#请用for循环嵌套的方式打印如下图形:
*****
*****
*****

for a in range(3):
    for b in range(5):
        print(‘*‘, end=‘‘)
    print()

PS:break 与 continue也可以用于for循环,使用语法同while循环

原文地址:https://www.cnblogs.com/a736659557/p/11795696.html

时间: 2024-10-06 13:34:12

python语法之流程控制(if while for)的相关文章

python语法之流程控制

#1.使用while循环输出1 2 3 4 5 6 8 9 10 # count = 0 # while count < 10: # count += 1 # if count == 7: # continue # print(count) #2.求1-100的所有数的和 # sum = 0 # for i in range(1, 101): # sum += i # print(sum) #3.输出1-100内的所有奇数 # for i in range(1, 101, 2): # print

python入门之流程控制

python入门之流程控制 一.什么叫流程控制 所谓流程控制就是控制流程,具体指控制程序的执行流程,而执行流程分为三种结构:顺序结构(之前写的代码都是顺序结构),分支结构(用到if判断).循环结构(用where与for) 二.分支结构 2.1什么是分支结构 分支结构就是根据条件判断的真假去执行不同分支对应的子代码 2.2为什么要使用分支结构 程序中需要有相应的机制用来控制计算机具备人的判断能力 2.3如何使用分支结构 if 主要用来判断事物的对错,真假是否可行 如: 1.前面有一个小姐姐年龄在2

Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制

Unit04: JavaScript 概述 . JavaScript 基础语法 . 流程控制 my.js function f3() { alert("唐胜伟"); } demo1.html  演示点击按钮,弹出提示框 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <

Python脚本之流程控制if语句

#!/usr/bin/env python # FileName: if.py number = 23 guess = int(raw_input('Enter an integer :')) if guess == number: print 'Congratulations ,you guessed it.' print 'But you do not win any prizes!' elif guess > number: print 'No, it is a little higher

Python运算符与流程控制 #学习猿地

本章节主要说明Python的运算符.举个简单的例子 **4 + 5 = 9** . 例子中,**4** 和 **5** 被称为**操作数**,"**+**" 称为运算符. Python语言支持以下类型的运算符: - 算术运算符 - 比较(关系)运算符 - 赋值运算符 - 逻辑运算符 - 位运算符 - 成员运算符 - 身份运算符 - 运算符优先级 接下来让我们一个个来学习Python的运算符. ------ ## Python算术运算符 | 运算符 | 描述               

python基础之流程控制、数字和字符串处理

流程控制 条件判断 if单分支:当一个"条件"成立时执行相应的操作. 语法结构: if 条件: command 流程图: 示例:如果3大于2,那么输出字符串"very good" #!/usr/bin/env python # -*- coding: utf-8 -*- if 3 > 2: print("very good") if双分支:当"条件成立"时候执行一个操作,或者"条件不成立"执行另外一个

Day09_Shell基本语法及流程控制

一.shell的基本语法-变量 命名规则 以字母开头 使用中划线或者下划线做单词的连接 同类型的用数字区分 对于文件最好加上拓展名 系统变量 set 和 env区别 set:显示所有变量 env:系统变量即环境变量 变量赋值 unset VARNAME:删除变量 常用系统变量 PATH PWD LANG HOME HISTSIZE:历史日志行数 PS1:存放用户信息 IFS export:定义全局变量 定义变量名的边界 [[email protected] ~]# rest_mem=20 [[e

Python基础--if流程控制与循环

流程控制之if...else 既然我们编程的目的是为了控制计算机能够像人脑一样工作,那么人脑能做什么,就需要程序中有相应的机制去模拟.人脑无非是数学运算和逻辑运算,对于数学运算在上一节我们已经说过了.对于逻辑运算,即人根据外部条件的变化而做出不同的反映. ###Python定义了缩进的机制.使用流程控制或循环时需要在执行语句前面缩进4个空格. if...else格式: if 条件: 执行语句 else: 执行语句 例如:判断日期,如果是周日则打游戏,不是周日则上班睡觉. date='Monday

黑马程序员——Java基础语法(二)---流程控制

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 本文主要介绍java基础语法中的流程控制,流程控制是我们写出灵活代码的基础.常见的流程控制主要有四类:判断结构.选择结构.循环结构.其他控制结构 一.判断结构 判断结构的标志是if语句,if语句主要有三种表现形式: 1.if(条件表达式) { 执行语句 } 注意: 1.如果if语句中只有一条语句,那么可以不写大括号.不过初学者一定要写括号,以免出错. 2.如果if语句没写大括号,if就只能控制