Python语法之选择和循环(if、while)

本文详细介绍了Python中的if语句和while语句,包括基本语法、逻辑运算符、if-elif-else结构、if的嵌套以及while循环的使用,同时还涉及break和continue的运用,通过实例帮助读者掌握条件判断和循环控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)

一、if语句

1.判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
2.if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
在 python 开发中,Tab 和空格不要混用


这里写图片描述

# _*_coding:utf-8 _*_
"""
file:if_01.py
date:2018-07-08-9:09 AM
author:xupt-gw
desc:
"""
# 定义一个整数变量
age = 23
# 判断是否满18岁
if age >= 18:
# 如果满18岁,就允许进入
    print 'welcome'

这里写图片描述
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件

if 要判断的条件:
条件成立时,要做的事情
……
else:
条件不成立时,要做的事情
……
if 和 else 语句以及各自的缩进部分是一个完整的代码块


这里写图片描述

# _*_coding:utf-8 _*_
"""
file:else_01.py
date:2018-07-08-9:29 AM
author:xupt-gw
desc:
"""
age = 19
# 判断是否满足18岁
if age >= 18:
# 如果满18岁,则欢迎进入
    print 'welcome~~'
# 如果不满18,则不允许进入
else:
    print 'reject!!'

这里写图片描述
3.逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件

python 中的逻辑运算符包括:与 and/或 or/非 not 三种

【1】and
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
【2】or
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
【3】not
对一个条件取反:not 条件
逻辑运算演练
1.练习:定义一个整数变量 age,编写代码判断年龄是否正确要求人的年龄在 0~120 之间
2.练习:定义两个整数变量math_score ,pe_score,编写代码判断成绩
3.练习:定义一个布尔型变量 is_student,编写代码判断是否是学生

# _*_coding:utf-8 _*_
"""
file:logical_01.py
date:2018-07-08-9:48 AM
author:xupt-gw
desc:
"""
# 1.and
age = 111
if age >= 0 and age <= 100:
    print 'age is ok'
else:
    print 'age is not ok'
# 2.or
math_score = 78
pe_score = 34
if math_score >= 60 or pe_score >= 60:
    print 'Pass!!'
else:
    print 'Fail!!'
# 3.not
is_student = False
if not is_student:
    print 'ok'

这里写图片描述
4.if 语句进阶:elif

在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同,就可以使用elif
语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码


注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块


elif实例:

# _*_coding:utf-8 _*_
"""
file:elif.py
date:2018-07-08-10:28 AM
author:xupt-gw
desc:
"""
holiday = raw_input('input a holiday: ')
if holiday == '春节':
    print '放鞭炮'
elif holiday == '端午节':
    print '吃粽子'
elif holiday == '国庆节':
    print '看升旗'
else:
    print 'not match !'

这里写图片描述
5.if 的嵌套:
在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
这里写图片描述

# _*_coding:utf-8 _*_
"""
file:if嵌套.py
date:2018-07-08-10:42 AM
author:xupt-gw
desc:
"""
has_ticket = True
knife_length = int(raw_input('输入长度: '))
if has_ticket:
    print 'pass check ticket!'
    if knife_length >= 20:
        print '长度为%dcm超过限定,不允许进入' % knife_length
    else:
        print '长度为%dcm未超过限定,允许进入' % knife_length
else:
    print 'please buy ticket first !!'

这里写图片描述
6.综合应用
综合应用–石头剪刀布
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头

# _*_coding:utf-8 _*_
"""
file:if综合案例.py
date:2018-07-08-11:17 AM
author:xupt-gw
desc:
"""
# 1:剪刀 2:石头 3:布
# 玩家自己输入
import random
player = int(raw_input('请输入你要出的拳: '))
# 电脑随机出
computer = random.randint(1, 3)
print '玩家出的拳是 %d,电脑出的拳是 %d' % (player, computer)
# 玩家胜利的情况
if ((player == 1 and computer == 3) or
        (player == 2 and computer == 1) or
        (player == 3 and computer == 2)):
    print 'Player Win !!'
elif player == computer:
    print 'Both win !!'
else:
    print 'Computer Win !!'

这里写图片描述

二、while语句

1,while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行

这里写图片描述
while 语句及缩进部分是一个完整的代码块
2.赋值运算符
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对
应的赋值运算符
注意:赋值运算符中间不能使用空格
+=
eg: a+=b 等效于 a = a + b
-=
*=
/=
//=
%=
‘**=’
3.python 中的计数方法
常见的计数方法有两种,可以分为
自然计数法(从 1 开始) – 更符合人类的习惯
程序计数法(从 0 开始) – 几乎所有的程序语言都选择从 0 开始计数
循环计算
在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种情况:
1.在 while 上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
需求:
计算 0~100 之间所有数字的累计求和的结果

# _*_coding:utf-8 _*_
"""
file:while_02.py
date:2018-07-08-2:02 PM
author:xupt-gw
desc:
"""
i = 1
sum = 0
while i <= 100:
    sum += i
    i += 1
print sum

这里写图片描述
需求进阶:
计算 0~100 之间所有偶数的累计求和

# _*_ coding:utf-8 _*_
"""
file:while_03.py
date:2018-07-18-14:49
auth:XUPT-GW
desc:
"""
i = 0
result = 0
while i<= 100:
    if i %2 == 0:
        result += i
    i += 1
print   '偶数之和是%d' % result

这里写图片描述
需求:计算2-3+4-5+6+……+100之和

# _*_coding:utf-8 _*_
"""
file:+2-3+4.py
date:2018-07-08-2:33 PM
author:xupt-gw
desc:
"""
i = 2
b = 0
while i <= 100:
    if i % 2 == 0:
        b += i
    else:
        b -= i
    i += 1
print b

这里写图片描述
4.break 和 continue
break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
break 和 continue 只针对当前所在循环有效
【break练习】

i = 0
while i < 10:
    if  i == 3:
        #满足某一条件的时候,跳出循环
        #不再执行后续重复的代码
        break
    print i
    i += 1
print 'over!'

这里写图片描述
【continue练习】

i = 0
while i < 10:
    i += 1
    if i == 3:
        continue
    print i

这里写图片描述
5.循环嵌套
【1】在控制台连续输出五行*,每一行星号的数量依次递增

# _*_coding:utf-8 _*_
"""
file:***.py
date:2018-07-08-3:13 PM
author:xupt-gw
desc:
*
**
***
****
*****
"""
i = 1
while i <= 5:
    j = 1
    while j <= i:
        print '*',
        j += 1
    print ' '
    i += 1

这里写图片描述
【2】九九乘法表

# _*_coding:utf-8 _*_
"""
file:9*9乘法表.py
date:2018-07-08-3:25 PM
author:xupt-gw
desc:
"""
i = 1

while i <= 9:
    j = 1
    while j <= i:
        k = i*j
        print '%d*%d=%d\t' % (j, i, j*i),
        j += 1
    print ' '
    i += 1

这里写图片描述
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
不加\t 无法对齐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值