本次笔记主要记录程序的组织结构中的选择结构。(顺序结构不记了)
一般来说,组织结构分为三类:
对象的布尔值
这部分首先做一个简单了解。空元组、空字典、空集合还有点不清楚什么意思。
例如,对于if后的判断条件仅为一个变量时,当变量的bool值为1,进行if后的语句;当bool值为0,进行else后的语句。
下面用一段代码,具体体验布尔值的作用:
因为当a=0时,bool值为0,转到了else后的语句;
当a不为0时,bool值为1,转到了if后的语句。
分支结构
·实验:判断三角形类型
针对python中的if…else语句,笔者做了下面这个练习:
# _*_ coding: utf-8 _*_
# __author__:Gina
# 2023/7/9
# 编写程序,从键盘输入三角形三边的长度,判断是否构成三角形,同时判断是否为直角三角形、等边三角形和普通三角形
print('输入三角形三边的长度:')
'''
# 第一种赋值方法
# input函数,注意要将对象从str转换为int
a = int(input())
b = int(input())
c = int(input())
'''
# 第二种赋值方法
# input后配以split,实现如同C语言中 scanf("%d %d",&a,&b)的功能
# 还是要记得从str类型转换为int类型,这里用的是map()
a, b, c = map(int, input('用空格隔开,').split())
if (a + b > c) and (a + c > b) and (b + c > a):
if (a == b) and (b == c) and (a == c):
print('该三角形为等边三角形')
elif (a == b) or (a == c) or (b == c):
print('该三角形为等腰三角形')
else:
print('该三角形为一般三角形')
if (a * a + b * b == c * c) or (a * a + c *
c == b * b) or (b * b + c * c == a * a):
print('该三角形为直角三角形')
else:
print('')
else:
print('该三边不能组成三角形')
其中尤其注意,用input() 接收到的数据是str类型的,对于本实验后面的数值算术运算,需要我们及时将类型转换为int。方法二中的详细介绍,笔者参考了另一篇博主的文章,讲的很易懂:https://blog.csdn.net/qq_46018836/article/details/105199040
·条件表达式
·pass语句
在python中,例如,要是在if…else的else后面留空的话,程序会报错。此时就需要用pass来填充空白。
比如在前面的实验里,笔者当时还没接触到pass,选择了用print(’ ')来进行略过。
所以这时,框出的代码也可以写成 else: pass