Python程序结构 — 选择结构(if……else)

任何程序都可以由这三种基本组织结构组成:顺序结构、选择结构(if语句)、循环结构(while语句、for-in语句)。

学习选择结构和循环结构之前要先知道python一切皆对象,所有的对象都有一个布尔值。在这两种结构中,程序根据判断条件语句的布尔值(True/False)来执行相应的语句。可以直接把对象放到条件表达式的地方进行判断。

1、顺序结构

程序从上到下顺序执行代码,中间没有任何的判断和跳转,直到程序结束。

图片[1]-Python程序结构 — 选择结构(if……else)-尤尤'blog

2、选择结构

程序根据条件表达式的布尔值来选择性的执行部分代码。

在这里要注意python对代码的缩进很严格,使用空格来定义代码块。

1)单分支结构

语法结构:

if 条件表达式:
    条件执行体
图片[2]-Python程序结构 — 选择结构(if……else)-尤尤'blog
if True:    # 如果条件成立,则执行:后面带缩进的代码
    print('我是一号条件执行体')
    print('我是二号条件执行体')
print('我和if无关')   # 这是一个新的代码块,和if无关,无论条件是真是假,都执行

2)双分支结构

语法结构:

if 条件表达式:
    条件执行体1
else:
    条件执行体2
图片[3]-Python程序结构 — 选择结构(if……else)-尤尤'blog
a = 30
b = 20
if a>b:   # 如果条件成立,则执行
    print('a大于b!')
else:   # 条件不成立时执行
    print('a小于b!')
print('end')    # 无论条件成不成立都执行

3)多分支结构

if 条件表达式1:
    条件执行体1
elif 条件表达式2:
    条件执行体2
elif 条件表达式N:
    条件执行体N
[else:]    # 表示以上情况都不成立
    条件执行体N+1
图片[4]-Python程序结构 — 选择结构(if……else)-尤尤'blog
score = int(input('Please inter your score(0-100): '))
if score<=100 and score>=90:
    print('你的成绩等级为A')
elif score<90 and score>=80:
    print('你的成绩等级为B')
elif score<80 and score>=70:
    print('你的成绩等级为C')
elif score<70 and score>=60:
    print('你的成绩等级为D')
elif score<60 and score>=0:
    print('你的成绩等级为E')
else:
    print('你输入的数据不合法')
print('查询完成。')

python也支持数学写法,比喻说:score<=100 and score>=90 可以写成 90<=score<=100

代码示例:

'''
要求:
    若年龄小于18,为童工;若年龄在18-60岁之间,为合法工作年龄;若年龄大于60,为退休年龄。
'''
age = int(input('请输入您的年龄:'))

if age < 18:
    print(f'您输入的年龄为{age},是童工')  # f'string' 格式化字符串
elif 18 <= age <= 60:                # elif age >= 18 and age <= 60:
    print(f'您输入的年龄为{age},是合法工作年龄')
elif age > 60:
    print(f'您输入的年龄为{age},是退休年龄')
else:
    print(f'您输入的年龄为{age},是不合法输入。')

4)嵌套if

还可以在if语句中包含if语句。

语法:

if 条件1:
    条件执行体1
    if 条件2:
        条件执行体2
    else:
        条件执行体3
else:
    条件执行体

代码示例:

'''
商场购物:是否为会员
    会员:500以上打八折;300-500打9折;300以下不打折
    非会员:500以上打9折,500以下不打折
'''
a = input('请问您是会员吗y/n?')
money = int(input('您的购物金额为:'))

if a == 'y':
    if money >= 500:
        print(f'会员您好,您的购物金额为{money},打八折,应支付{money*0.8}')
    elif money >= 300 and money <500:
        print(f'会员您好,您的购物金额为{money},打九折,应支付{money*0.9}')
    else:
        print(f'会员您好,您的购物金额为{money},不打折,应支付{money}')
else:
    if money >= 500:
        print(f'您好,您还不是会员,您的购物金额为{money},打九折,应支付{money * 0.9}')
    else:
        print(f'您好,您还不是会员,您的购物金额为{money},不打折,应支付{money}')
print('祝您购物愉快,欢迎下次光临!')

条件表达式(简写if……else)

语法结构:

x if 条件表达式 else y

# 条件为真时,执行x,否则执行y

简写if……else 代码示例:

a = 30
b = 20
# if a>b:   # 如果条件成立,则执行
#     print('a大于b!')
# else:   # 条件不成立时执行
#     print('a小于b!')
# 上面的代码可以写成一行
print('a大于b!') if a>b else print('a小于b!')

print('end')    # 无论条件成不成立都执行

3、循环结构

主要就是while语句和for-in语句。

pass语句

这个语句什么都不做。只是一个占位符。用在需要写语句的地方。

有的语句不能为空,需要写上pass来避免错误。

if a == 'y':
    pass    # 这里面的代码还没想好怎么写,为了避免报错,写上pass
else:
    pass
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容