python的语句结构你真的了解吗

一、程序的组织结构 任何简单的或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成 二、顺序结构 程序从上到下顺序地执行代码,中间没有任何的

一、程序的组织结构

任何简单的或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成

二、顺序结构

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

三、对象的布尔值

Python一切皆对象,所有对象都有一个布尔值

  • 获取对象的布尔值
  • 使用内置函数bool()
  • 以下对象布尔值为False
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('------------其他对象的布尔值均为True-----------------')
print(bool(18))
print(bool("0"))

输出:

False
False
False
False
False
False
False
False
False
False
False
False
------------其他对象的布尔值均为True-----------------
True
True

四、分支结构

选择结构

程序根据判断条件的布尔值选择性地执行部分代码

明确的让计算机直到在什么条件下,该去做什么

单分支结构

中文语义:如果…就…

如果下雨,就带伞

语法结构:

if 条件表达式:

​ 条件执行体

#判断余额是否充足
if money >=s:
    money=money-s
    print('取款成功,余额为:',money)

输入100,输出

请输入取款金额:100
取款成功,余额为: 900

输入1200, 不继续执行

双分支结构

中文语义:

如果…不满足…就…

如果中奖就领奖,没中奖就不领

语法结构:

if 条件表达式:

​ 条件执行体1

else:

​ 条件执行体2

#双分支结构if...else... 二选一执行
num=int(input('请输入一个整数:'))
#条件判断
if num%2==0:
    print(num,'是偶数')
else:
    print(num,'是奇数')

输入9,输出

请输入一个整数:9
9 是奇数

输入10,输出:

请输入一个整数:10
10 是偶数

多分支结构

中文语义

成绩是90以上吗? 不是

成绩是80到90分之间吗?不是

成绩是70到80分之间吗?不是

成绩是60到70分之间吗?不是

成绩是60分以下吗?是

语法结构:

if 条件表达式1:

​ 条件执行体1

elif 条件表达式2:

​ 条件执行体2

elif 条件表达式N:

​ 条件执行体N

[else:]

​ 条件执行体N+1

方括号表示可写可不写

代码示例:

'''
多分支结构,多选一执行
90-100 A
80-89  B
70-79  C
60-69  D
0 -59  E
小于0或者大于100为非法数值
'''
score= int(input('请输入一个分数:'))
#判断
if score >=90 and score <=100:
    print('A级')
elif score >=80 and score <= 89:
    print('B级')
elif score >= 70 and score <= 79:
    print('C级')
elif score >=60 and score <= 69:
    print('D级')
elif score >=0 and score <=59:
    print('E级')
else:
    print('对不起,成绩有误,不在成绩的有效范围内')

请输入一个分数:99
A级

请输入一个分数:66
D级

请输入一个分数:122
对不起,成绩有误,不在成绩的有效范围内

写法改造

'''
多分支结构,多选一执行
90-100 A
80-89  B
70-79  C
60-69  D
0 -59  E
小于0或者大于100为非法数值
'''
score= int(input('请输入一个分数:'))
#判断
if 90 <=score <=100:
    print('A级')
elif  80<=score <= 89:
    print('B级')
elif 70<=score <= 79:
    print('C级')
elif 60<=score <= 69:
    print('D级')
elif 0<=score <=59:
    print('E级')
else:
    print('对不起,成绩有误,不在成绩的有效范围内')

输出:

请输入一个分数:100
A级

嵌套if

语法结构:

if 条件表达式1:

​ if 内层条件表达式:

​ 内层条件执行体1

​ else:

​ 内层条件执行体2

else:

​ 条件执行体

代码示例

'''
会员 >= 200 8折
    >= 100 9折
非会员 >= 9.5折
    不打折
'''
answer= input('您是会员吗?y/n')
money=float(input('请输入您的购物金额:'))
#外层判断是否是会员
if answer=='y':
    if money>=200:
        print('打8折,付款金额为:',money*0.8)
    elif money>=100:
        print('打9折,付款金额为:',money*0.9)
    else:
        print('不打折,付款金额为:',money) #虽然是会员,但金额太小不打折
else: #非会员
    if money >=200:
        print('打9.5折,付款金额为:',money*0.95)
    else:
        print('不打折,付款金额为:',money)

输出:

您是会员吗?y/ny
请输入您的购物金额:2000
打8折,付款金额为: 1600.0

您是会员吗?y/ny
请输入您的购物金额:100
打9折,付款金额为: 90.0

五、ass空语句

pass语句

#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
answer = input('您是会员吗?y/n')
#判断是否为会员
if answer=='y':
    pass
else:
    pass

先占位,后补全

利用对象的布尔值

age = int(input('请输入您的年龄:'))
if age: #不用判读,直接利用对象的布尔值
    print(age)
else:
    print('年龄为:',age)

输出:

请输入您的年龄:18
18

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注好代码网的更多内容!         

您可能有感兴趣的文章
Python自动化运维-使用Python脚本监控华为AR路由器关键路由变化

Python自动化运维-netmiko模块设备自动发现

Python自动化运维—netmiko模块连接并配置华为交换机

Python自动化运维-利用Python-netmiko模块备份设备配置

Python自动化运维-Paramiko模块和堡垒机实战