基本理论基础
Python中的选择判断结构是一种编程中常用的控制结构,它用于根据条件的真假决定程序的执行路径。选择判断结构有多种类型,包括if语句、if-else语句、if-elif-else语句以及嵌套的选择结构。
首先,我们来介绍最常见的if语句。if语句用于判断某个条件是否为真,如果条件为真,则执行if语句块中的代码,否则跳过整个if语句。if语句的基本语法如下:
if 条件:
# 如果条件为真执行的代码
关键字if后面跟的是一个条件表达式,条件表达式的结果可以是True或False。如果条件为True,则执行冒号后面缩进的代码块,代码块中的语句必须缩进对齐,一般使用四个空格进行缩进。
接下来,我们可以引入else语句,它用于处理条件为假的情况。else语句块中的代码在条件为假时执行。if-else语句的基本语法如下:
if 条件:
# 如果条件为真执行的代码
else:
# 如果条件为假执行的代码
在这种情况下,如果条件为真,执行if语句块中的代码;如果条件为假,执行else语句块中的代码。
除了if和else的组合,Python还提供了更复杂的判断结构:if-elif-else。elif是else if的缩写,用于在有多个条件时进行判断。if-elif-else语句的基本语法如下:
if 条件1:
# 如果条件1为真执行的代码
elif 条件2:
# 如果条件1为假而条件2为真执行的代码
else:
# 如果条件1和条件2都为假执行的代码
在这种情况下,如果条件1为真,执行if语句块中的代码;如果条件1为假而条件2为真,执行elif语句块中的代码;如果两个条件都为假,执行else语句块中的代码。
除了上述三种基本的选择判断结构,我们还可以嵌套使用判断结构。通过嵌套,我们可以实现更复杂的多重判断。嵌套判断结构的基本语法如下:
if 条件1:
if 条件2:
# 如果条件1和条件2都为真执行的代码
else:
# 如果条件1为真而条件2为假执行的代码
else:
# 如果条件1为假执行的代码
我们可以将多个if语句相互嵌套,以实现根据不同的条件执行不同的代码。
除了基本的选择判断结构外,Python还提供了一种更灵活的选择结构:三元运算符。三元运算符可以在一行代码中根据条件返回两个不同的值。其基本语法如下:
变量 = 表达式1 if 条件 else 表达式2
在这种情况下,如果条件为真,变量的值为表达式1的值;如果条件为假,变量的值为表达式2的值。
综上所述,选择判断结构在Python中是一种重要且常用的控制结构。通过if语句、if-else语句、if-elif-else语句以及嵌套的选择结构,我们可以根据不同的条件执行不同的代码,实现更灵活和多样化的程序逻辑。同时,我们还可以使用三元运算符在一行代码中进行条件判断和赋值操作。掌握选择判断结构将帮助我们编写出更好的Python程序。
Python判断结构20个实例
- 输出部门总人数,如果人数大于等于 100,则输出 “这是一个大型企业”。
total_people = 90
if total_people >= 100:
print("这是一个大型企业")
print("部门总人数为:" + str(total_people))
- 计算列表中所有数字的和,如果和大于 100,则输出 “和大于 100”,否则输出 “和小于 100”。
numbers = [30, 40, 50]
total_sum = sum(numbers)
if total_sum > 100:
print("和大于 100")
else:
print("和小于 100")
- 判断一个数字是否是偶数,如果是偶数,则输出 True,否则输出 False。
num = 6
if num % 2 == 0:
print(True)
else:
print(False)
- 判断一个数字是否在给定区间 [20, 50] 内,如果在,则输出 True,否则输出 False。
num = 35
if num >= 20 and num <= 50:
print(True)
else:
print(False)
- 判断一个字符串是否是空字符串,如果是,则输出 “这是一个空字符串”,否则输出字符串本身。
string = ""
if not string:
print("这是一个空字符串")
else:
print(string)
- 计算两个数字的平均值,如果平均值大于 50,则输出 “平均数大于 50”,否则输出 “平均数小于等于 50”。
num1 = 40
num2 = 70
average = (num1 + num2) / 2
if average > 50:
print("平均数大于 50")
else:
print("平均数小于等于 50")
- 判断一个人的年龄是否大于 18 岁,如果是,则输出 “已满 18 岁”,否则输出 “未满 18 岁”。
age = 20
if age > 18:
print("已满 18 岁")
else:
print("未满 18 岁")
- 判断一个数字是否为正数,如果是,则输出 “这是一个正数”,否则输出 “这不是一个正数”。
num = -5
if num > 0:
print("这是一个正数")
else:
print("这不是一个正数")
- 判断一个字符串是否是数字,如果是,则输出 “这是一个数字”,否则输出 “这不是一个数字”。
string = "12345"
if string.isdigit():
print("这是一个数字")
else:
print("这不是一个数字")
- 判断一个年份是否是闰年,如果是,则输出 “这是一个闰年”,否则输出 “这不是一个闰年”。
year = 2024
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
print("这是一个闰年")
else:
print("这不是一个闰年")
- 判断两个字符串的长度是否相等,如果相等,则输出 “长度相等”,否则输出 “长度不相等”。
string1 = "hello"
string2 = "world"
if len(string1) == len(string2):
print("长度相等")
else:
print("长度不相等")
- 判断一个列表是否为空,如果是,则输出 “这是一个空列表”,否则输出列表中的所有元素。
my_list = []
if not my_list:
print("这是一个空列表")
else:
for item in my_list:
print(item)
- 判断一个字符串是否以特定前缀开头,如果是,则输出 “字符串以该前缀开头”,否则输出 “字符串不以该前缀开头”。
string = "www.example.com"
prefix = "www"
if string.startswith(prefix):
print("字符串以该前缀开头")
else:
print("字符串不以该前缀开头")
- 计算一个数字是否是另一个数字的倍数,如果是,则输出 “这是一个倍数”,否则输出 “这不是一个倍数”。
num1 = 10
num2 = 25
if num2 % num1 == 0:
print("这是一个倍数")
else:
print("这不是一个倍数")
- 判断一个字符是否在一个字符串中出现过,如果是,则输出 “这个字符在字符串中出现过”,否则输出 “这个字符在字符串中没有出现过”。
string = "hello world"
char = "o"
if char in string:
print("这个字符在字符串中出现过")
else:
print("这个字符在字符串中没有出现过")
- 判断一个列表中是否有重复元素,如果有,则输出 “列表中有重复元素”,否则输出 “列表中没有重复元素”。
my_list = [1, 2, 3, 4, 5, 3]
if len(my_list) != len(set(my_list)):
print("列表中有重复元素")
else:
print("列表中没有重复元素")
- 判断一个数字是否是质数,如果是,则输出 “这是一个质数”,否则输出 “这不是一个质数”。
num = 7
if num > 1:
for i in range(2, num):
if num % i == 0:
print("这不是一个质数")
break
else:
print("这是一个质数")
else:
print("这不是一个质数")
- 判断一个字符串是否是回文字符串,如果是,则输出 “这是一个回文字符串”,否则输出 “这不是一个回文字符串”。
string = "racecar"
if string == string[::-1]:
print("这是一个回文字符串")
else:
print("这不是一个回文字符串")
- 判断一个字符串是否是有效的 IPv4 地址,如果是,则输出 “这是一个有效的 IPv4 地址”,否则输出 “这不是一个有效的 IPv4 地址”。
ip_address = "192.168.1.1"
if all(0 <= int(num) <= 255 for num in ip_address.split(".")) and len(ip_address.split(".")) == 4:
print("这是一个有效的 IPv4 地址")
else:
print("这不是一个有效的 IPv4 地址")
- 模拟一个石头、剪子、布游戏,玩家输入自己的选择,与电脑随机选择进行比较,输出结果。
import random
player = input("请输入你的选择(石头、剪子、布): ")
computer = random.choice(["石头", "剪子", "布"])
if player == computer:
print("平局")
elif (player == "石头" and computer == "剪子") or (player == "剪子" and computer == "布") or (player == "布" and computer == "石头"):
print("你赢了")
else:
print("你输了")
相关学习:
以下是 20 个不同的 Python 函数实例
我的图书
下面两本书欢迎大家参考学习。
OpenCV轻松入门
李立宗,OpenCV轻松入门,电子工业出版社,2023
本书基于面向 Python 的 OpenCV(OpenCV for Python),介绍了图像处理的方方面面。本书以 OpenCV 官方文档的知识脉络为主线,并对细节进行补充和说明。书中不仅介绍了 OpenCV 函数的使用方法,还介绍了函数实现的算法原理。
在介绍 OpenCV 函数的使用方法时,提供了大量的程序示例,并以循序渐进的方式展开。首先,直观地展示函数在易于观察的小数组上的使用方法、处理过程、运行结果,方便读者更深入地理解函数的原理、使用方法、运行机制、处理结果。在此基础上,进一步介绍如何更好地使用函数处理图像。在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的实例来说明问题,避免使用过多复杂抽象的公式。
本书适合计算机视觉领域的初学者阅读,包括在校学生、教师、专业技术人员、图像处理爱好者。
本书第1版出版后,深受广大读者朋友的喜爱,被很多高校选为教材,目前已经累计重印9次。为了更好地方便大家学习,对本书进行了修订。
计算机视觉40例
李立宗,计算机视觉40例,电子工业出版社,2022
近年来,我深耕计算机视觉领域的课程研发工作,在该领域尤其是OpenCV-Python方面积累了一点儿经验。因此,我经常会收到该领域相关知识点的咨询,内容涵盖图像处理的基础知识、OpenCV工具的使用、深度学习的具体应用等多个方面。为了更好地把所积累的知识以图文的形式分享给大家,我将该领域内的知识点进行了系统的整理,编写了本书。希望本书的内容能够对大家在计算机视觉方向的学习有所帮助。
本书以OpenCV-Python(the Python API for OpenCV)为工具,以案例为载体,系统介绍了计算机视觉从入门到深度学习的相关知识点。
本书从计算机视觉基础、经典案例、机器学习、深度学习、人脸识别应用等五个方面对计算机视觉的相关知识点做了全面、系统、深入的介绍。书中共介绍了40余个经典的计算机视觉案例,其中既有字符识别、信息加密、指纹识别、车牌识别、次品检测等计算机视觉的经典案例,也包含图像分类、目标检测、语义分割、实例分割、风格迁移、姿势识别等基于深度学习的计算机视觉案例,还包括表情识别、驾驶员疲劳监测、易容术、识别年龄和性别等针对人脸的应用案例。
在介绍具体的算法原理时,本书尽量使用通俗易懂的语言和贴近生活的示例来说明问题,避免使用复杂抽象的公式来介绍。
本书适合计算机视觉领域的初学者阅读,适于在校学生、教师、专业技术人员、图像处理爱好者使用。