Python选择语句详解:if, if/else, if/elif/else

版权申诉
0 下载量 119 浏览量 更新于2024-08-11 收藏 195KB PDF 举报
"Python的三种选择语句:if语句,if/else语句和if/elif/else语句是编程中的基础控制结构,用于实现程序的逻辑选择。本文通过流程图和示例代码详细解释了这些语句的工作原理和使用方法。" Python语言提供了三种选择语句来实现条件分支,这三种语句分别是: 1. **if语句**:这是最基础的选择语句,用于检查一个条件,如果条件为真,则执行相应代码块。其基本语法结构如下: ```python if 条件表达式: 语句体 ``` 当条件表达式的结果为True时,`语句体`会被执行。如果条件不满足,程序会跳过`语句体`继续执行后面的代码。 2. **if/else语句**:在if语句的基础上增加了else子句,当条件不满足时执行另一段代码。语法结构如下: ```python if 条件表达式: 语句体1 else: 语句体2 ``` 如果条件表达式为True,执行`语句体1`;否则执行`语句体2`。这种结构提供了两种可能的执行路径。 3. **if/elif/else语句**:这是一种更复杂的条件选择,可以检查多个条件,直到找到满足的条件并执行对应的代码。语法结构如下: ```python if 条件表达式1: 语句体1 elif 条件表达式2: 语句体2 ... elif 条件表达式n: 语句体n else: 语句体n+1 ``` 这里,程序会依次检查每个`条件表达式i`,如果有一个条件满足,就执行对应的`语句体i`,并且不再检查后续的条件。如果没有条件满足,最后执行`else`后的`语句体n+1`。 在Python中,语句体的代码块通常通过统一的缩进来表示。如果多行代码属于同一个语句体,它们需要在同一缩进级别下。这是Python语法的一个关键特性,也是其可读性高的原因之一。 例如,以下是一个使用if语句的简单程序,它接收用户输入的整数,并根据数值大小打印不同的消息: ```python # -*-coding: cp936-*- # 比较输入的整数是否大于6 integer = int(input('请输入一个整数:')) # 获取一个整数 if integer > 6: print('输入的数字大于6') else: print('输入的数字不大于6') ``` 这个程序首先获取用户输入的整数,然后检查这个数是否大于6。如果是,它会输出“输入的数字大于6”;否则,输出“输入的数字不大于6”。 掌握if、if/else和if/elif/else语句是编写复杂Python程序的基础。通过组合这些控制结构,开发者可以创建出适应各种逻辑需求的程序。在实际编程中,这些语句经常与其他结构(如循环、函数等)结合使用,以实现更复杂的逻辑控制。

import fitz # PyMuPDF库 import os # 读取PDF文件的内容 def read_pdf(file_path): doc = fitz.open(file_path) content = "" for page in doc: content += page.getText("text") doc.close() return content # 去除字符串中的空格和空行 def remove_spaces(text): return "\n".join([line.strip() for line in text.split("\n") if line.strip()]) # 将字符串按中文句号分割成多个语句 def split_sentences(text): sentences = [] for sentence in text.split("。"): sentence = sentence.strip() if sentence: sentences.append(sentence + "。") return sentences # 读取指定目录下所有PDF文件的内容并合并成一个字符串 def read_all_pdfs(dir_path): all_content = "" for file_name in os.listdir(dir_path): if file_name.endswith(".pdf"): file_path = os.path.join(dir_path, file_name) content = read_pdf(file_path) content = remove_spaces(content) all_content += content return all_content # 将字符串按中文句号分割成多个语句并打印出来 def print_sentences(text): sentences = split_sentences(text) for sentence in sentences: print(sentence) # 测试 dir_path = r"D:\点宽学院" all_content = read_all_pdfs(dir_path) print_sentences(all_content)这是我的代码显示Traceback (most recent call last): File "D:\python+pycharm\ceshi.py", line 44, in <module> all_content = read_all_pdfs(dir_path) File "D:\python+pycharm\ceshi.py", line 31, in read_all_pdfs content = read_pdf(file_path) File "D:\python+pycharm\ceshi.py", line 8, in read_pdf content += page.getText("text") AttributeError: 'Page' object has no attribute 'getText',如何修改呢

2023-05-12 上传