【python3零基础入门】No4.python控制语句学习

本文介绍了Python程序中的选择结构(if语句)以及循环结构(while和for循环),包括break、continue和pass在其中的作用,通过实例展示了如何根据分数输出等级、打印数字和计算和等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


对于 Python 程序中的执行语句,默认是按照书写顺序依次执行的,这时称这样的语句是顺序结构的。但是,仅有顺序结构还是不够的,因为有时需要根据特定的情况,有选择地执行某些语句.这时就需要一种选择结构的语句。另外,有时还可以在给定条件下重复执行某些语句,这时称这些语句是循环结构的。有了这三种基本的结构,就能够构建任意复杂的程序了。

1 选择结构

1.1 if语句

python中的if语句一般如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3
  1. 如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
  2. 如果 “condition_1” 为False,将判断 “condition_2”
  3. 如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
  4. 如果 “condition_2” 为False,将执行"statement_block_3"块语句

使用if语句的注意事项:

  • 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
  • 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
  • 3、在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,功能也类似

示例:输人学生的成绩 score,按分数输出其等级:score>90 为优,90 > score>80为良,80>score>70 为中等,70> score>60 为及格,score< 60 为不及格。

score= int(input("请输入成绩"))
if score>= 90:
    print("优")
elif score>= 80:
    print("良")
elif score >= 70:
    print("中")
elif score>= 60:
    print("及格")
else:
    print("不及格")

if表达式中常用的运算符如下:
在这里插入图片描述

2 循环结构

2.1 while循环语句

一般使用形式如下:

while 判断条件(condition):
    执行语句(statements)……

示例:使用循环打印数字

#!/usr/bin/python3
 
count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

2.2 for循环语句

一般使用形式如下:

for 序列中的项 in 序列:
    循环体
  • 打印数字示例
#!/usr/bin/python3
#  1 到 5 的所有数字:
for number in range(1, 6):
    print(number)
  • 计算 1~10 的整数之和,可以用一个 sum 变量做累加
sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
    sum= sum+x
print("合计值:",sum)

2.3 break、continue、pass在循环中的用途

  • break:当在循环中遇到 break 语句时,会立即终止当前循环,跳出循环结构,不再执行剩余的循环体代码。通常用于在满足特定条件时提前结束循环。
for i in range(10):  
    if i == 5:  
        break  
    print(i)
  • continue:当在循环中遇到 continue 语句时,会跳过当前循环的剩余代码,继续下一次循环。通常用于在满足特定条件时不执行后续的循环体代码。
n = 5
while n > 0:
    n -= 1
    if n == 2:
        continue
    print(n)
print('循环结束。')
  • pass:当在循环中遇到 pass 语句时,会执行一个空操作(什么都不做),程序会继续执行后续的代码。通常用于在语法上需要语句但实际不需要执行任何操作的地方。
### 设置单页为A3页面样式的实现方法 在 Python 中处理 PDF 或文档库时,可以使用 `reportlab` 库来创建和修改 PDF 文件。以下是通过 `reportlab` 实现将某一页设置为 A3 页面样式的具体方式。 #### 使用 ReportLab 创建带自定义页面大小的 PDF 文档 ReportLab 是一个强大的工具包,用于生成高质量的 PDF 文档。可以通过调整每一页的尺寸来自定义页面布局。标准的 A3 尺寸为 `(16.54 * inch, 11.7 * inch)`[^3]。 下面是一个完整的代码示例: ```python from reportlab.lib.pagesizes import A3, landscape from reportlab.pdfgen import canvas def create_pdf_with_a3_page(output_path): c = canvas.Canvas(output_path) # 添加第一页,默认为 Letter 大小 (默认值) c.drawString(100, 750, "This is the first page with default size.") c.showPage() # 添加第二页,指定为 A3 大小 width, height = A3 # 获取 A3 的宽度和高度 c.setPageSize((width, height)) # 设置当前页面的大小为 A3 c.setFont("Helvetica", 24) # 设置字体和字号 c.drawCentredString(width / 2, height - 100, "This is an A3 Sized Page") # 绘制居中的文字 c.drawString(100, 100, "Width: {}px Height: {}px".format(width, height)) c.showPage() # 可以继续添加更多页面并分别设定其大小 c.save() create_pdf_with_a3_page("example_with_A3_page.pdf") ``` 上述代码中: - 默认情况下,PDF 的第一页会采用报告实验室的标准页面大小(Letter)。 - 第二页被显式地设为了 A3 尺寸,并绘制了一些说明性的文本内容。 - 如果需要横向模式,则可调用 `landscape(A3)` 来获取旋转后的宽高比例[^4]。 #### 关于其他文档库的支持情况 如果目标不是 PDF 而是 Word (.docx),则可以借助 `python-docx` 库完成类似功能。然而需要注意的是,`python-docx` 并不支持直接更改已有段落所属节区(section)的纸张大小;因此通常的做法是在新建文档时即定义好各章节对应的纸型规格。 以下是如何利用 python-docx 新建含不同纸张类型的多章节 word 文档的例子: ```python from docx import Document from docx.shared import Cm def add_section_with_paper_size(doc, paper_width_cm, paper_height_cm): section = doc.add_section() section.page_width = Cm(paper_width_cm) section.page_height = Cm(paper_height_cm) document = Document() # Add content to initial section. paragraph = document.add_paragraph('Default Section') add_section_with_paper_size(document, 42, 29.7) # Adding A3 sized section. paragraph = document.add_paragraph('New Section With Custom Size') document.save('demo.docx') ``` 此脚本先建立了一个常规部分随后追加了一块新的区域该区块采用了定制化的度量单位厘米表示长度从而实现了切换至 A3 版面的效果[^5]. ### 总结 无论是对于 PDF 还是 DOCX 类型文件,在 Python 下均存在成熟的解决方案可供选用。针对前者推荐优先考虑灵活高效的 **ReportLab** ,而后者则适用易上手跨平台兼容性强的 **Python-Docx** 。两者皆允许开发者精确控制每一个细节直至满足项目需求为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值