Python中的程序控制结构 顺序结构和选择结构

  • Post author:
  • Post category:python




Python中的程序控制结构(一)

说明:本篇文章为自己在学习Python时做的学习笔记。参考马士兵Python课程。



1.程序中的组织结构

任何简单或复杂的算法都可以由

顺序结构



选择结构



循环结构

这三种基本结构组合而成。



2.顺序结构

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

#  顺序结构
'''把大象装冰箱一共分几步?'''
print('1.把冰箱门打开')
print('2.把大象装冰箱里')
print('3.把冰箱门关上')
print('***********程序结束************')



3.对象的布尔值

在将分支结构和循环结构之前,先介绍对象的布尔值。

Python一切皆对象,所有的对象都有一个布尔值,可以使用内置函数bool()来获取对象的布尔值。

以下对象的布尔值为False

(1)False

(2)数值0

(3)None

(4)空字符串

(5)空列表

(6)空元组

(7)空字典

(8)空集合

除了上述对象,其他对象的布尔值均为True

# 测试对象的布尔值
print('***********以下对象的布尔值为False 其他对象的布尔值均为True***************')
print(bool(False))    # False
print(bool(0))        # False
print(bool(None))     # False
print(bool(''))       # False
print(bool(""))       # False
print(bool([]))       # False 空列表
print(bool(list()))   # False 空列表
print(bool(tuple()))  # False 空元组
print(bool({}))       # False 空字典
print(bool(dict()))   # False 空字典
print(bool(set()))    # False 空集合



4.分支结构

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

我们需要明确地让计算机知道在什么条件下,该去做什么。



4.1 单分支if结构

语法结构:





i

f

if \quad条件表达式:\\ \quad条件执行体






i


f
















































# 单分支结构
money=1000      # 余额
s=int(input('请输入取款金额:'))  # 取款金额
# 判断余额是否充足
if money>=s:
    money=money-s
    print('取款成功,余额为:',money)



4.2 双分支if…else结构

语法结构:





i

f

1

e

l

s

e

:

2

\begin{array}{ll}if \quad条件表达式:\\ \qquad条件执行体1\\ else:\\ \qquad条件执行体2\end{array}


















i


f













































1








e


l


s


e




:

























2
























# 双分支结构 if...else 二选一
'''从键盘录入一个整数,编写程序让计算机判断它是奇数还是偶数'''
num=int(input('请输入一个整数:'))
# 条件判断
if num%2==0:
    print(num,'偶数')
else:
    print(num,'奇数')



4.3 多分支if…elif…else结构

语法结构:





i

f

1

1

e

l

i

f

2

:

2

e

l

i

f

N

:

N

[

e

l

s

e

:

]

N

+

1

\begin{array}{ll}if \quad条件表达式1:\\ \qquad条件执行体1\\ elif条件表达式2:\\ \qquad条件执行体2\\\qquad \qquad \vdots\\ elif条件表达式N:\\ \qquad条件执行体N\\ [else:] \\ 条件执行体N+1\end{array}


















i


f



















1




























1








e


l


i


f

















2




:

























2

























e


l


i


f

















N




:

























N








[


e


l


s


e




:


]























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:  # 也可以写成 90<=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('非法成绩')



4.4 if语句的嵌套

语法结构





i

f

i

f

e

l

s

e

:

e

l

s

e

:

\begin{array}{ll}\textcolor{red}{if} \quad条件表达式:\\ \qquad \textcolor{blue}{if}\quad 内层条件表达式:\\ \qquad \qquad内层条件执行体\\ \qquad \textcolor{blue}{else}:\\ \qquad \qquad 内层条件执行体\\ \textcolor{red}{else}:\\ \qquad条件执行体\end{array}


















i


f






























i


f



































































e


l


s


e




:







































e


l


s


e




:















































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



4.5 条件表达式

条件表达式是 if…else 的简写。

语法结构:





x

i

f

e

l

s

e

y

x \quad \textcolor{red}{if} \quad判断条件 \quad \textcolor{red}{else} \quad y






x




i


f


















e


l


s


e




y







运算规则:

如果判断条件的布尔值为



T

r

u

e

\textcolor{red}{True}






T


r


u


e





,条件表达式的返回值为



x

\textcolor{red}{x}






x





,否则条件表达式的返回值为



F

a

l

s

e

\textcolor{red}{False}






F


a


l


s


e





# 条件表达式
'''从键盘输入两个整数,比较两个整数的大小'''
num_a=int(input('请输入第一个整数:'))
num_b=int(input('请输入第二个整数:'))
# 比较大小
'''if num_a>=num_b:
    print(num_a,'大于等于',num_b)
else:
    print(num_a,'小于',num_b)
'''
# 使用条件表达式进行比较
print((num_a,'大于等于',num_b) if num_a>=num_b else (num_a,'小于',num_b)) # 输出不好看 改写一下
print( str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else  str(num_a)+'小于'+str(num_b))



5.pass空语句

pass语句:

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

什么时候使用呢?

先搭建语法结构,还没想好代码怎么写的时候。

哪些语句一起使用?

  1. if语句的条件执行体
  2. for-in语句的循环体
  3. 定义函数时的函数体
# pass语句 什么都不做,只是一个占位符,用到需要写语句的地方
answer=input('您是会员吗?y/n')
# 判断是否是会员
if answer=='y':
    pass
else:
    pass
# 程序不会报错

最后:

'''
为什么要讲对象的布尔值:
我们在写代码的时候可以直接将对象放在条件表达式中进行判断
'''
age=int(input('请输入您的年龄:'))
if age:
    print(age)
else:
    print('年龄为:',age)



版权声明:本文为xiamuandsansan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。