【Python案例】打印一张规范的小票 ------ 原始字符串与三引号

案例需求
本单元要和字符串的显示效果打两次交道:一次是 Windows 文件路径,反斜杠要原样显示;一次是超市小票,要用多行文字排出整齐的版面。请完成下列任务:
- 用原始字符串 保存并打印一个 Windows 路径
C:\Users\Python\lesson.py,要求反斜杠正常显示、不被当成转义; - 用三引号字符串 打印一张小票,内容分多行,商品名与单价之间用制表符
\t对齐。
案例实现
第 1 步 :原始字符串就是在引号前加一个字母 r,里面的反斜杠不再当成转义字符。打印 Windows 路径 C:\Users\Python\lesson.py。
python
path = r"C:\Users\Python\lesson.py"
print("原始字符串:", path)
第 2 步 :三引号 """...""" 可以一次写出多行文字,换行会原样保留。打印一张小票,内容分多行。
python
ticket = """===== 购物小票 =====
商品\t\t单价
苹果\t\t5.5
牛奶\t\t12.0
====================
合计\t\t17.5"""
print(ticket)
完整代码:
python
path = r"C:\Users\Python\lesson.py"
print("原始字符串:", path)
ticket = """===== 购物小票 =====
商品\t\t单价
苹果\t\t5.5
牛奶\t\t12.0
====================
合计\t\t17.5"""
print(ticket)
运行结果:
原始字符串: C:\Users\Python\lesson.py
===== 购物小票 =====
商品 单价
苹果 5.5
牛奶 12.0
====================
合计 17.5
案例解析
- 原始字符串
r"...":给字符串加上前缀r之后,里面的内容一律按原样处理,反斜杠不再是转义符,而是当成普通字符,写文件路径、正则表达式时特别省事。 - 三引号字符串 :用三个连续引号(
"""或''')包裹起来的字符串,可以跨多行书写,换行和空格都会被保留,常用来写小票、说明文字这类多行内容。 \t制表对齐 :一个\t相当于跳到下一个制表位,用它可以在不同行之间对齐列。这里用两个\t让"商品名"和"单价"拉开距离。- 注意:三引号内容前面的缩进空格也会被打印出来,所以内容一般要顶格写,不要随意加空格。
相关练习
一、题目
1.(选择题) 在字符串 r"C:\new" 中,\n 会被当成( )。
- A. 一个换行符
- B. 两个普通字符:反斜杠和字母 n
- C. 程序报错
- D. 一个制表符
2.(填空题) 想要一次写出多行文字,可以使用三个连续引号,这种字符串通常叫作 ________ 字符串。
3.(判断题) 三引号字符串会自动删掉每行前面的空格。( )
4.(简答题) 请写出代码:用三引号打印两行文字。第一行写"商品"和"单价",第二行写"苹果"和"5.5",每行里的两项之间留出对齐的空位。
二、参考答案与解析
1. 答案:B
解析:原始字符串 r"..." 中的反斜杠不再具有转义功能,\n 就是反斜杠和字母 n 两个普通字符,原样输出。
2. 答案:三引号(也叫多行字符串)
解析:三个连续引号定义的字符串可以跨越多个书写行,因此常被叫作"三引号字符串"或"多行字符串"。
3. 答案:错误(×)
解析:三引号会原样保留字符串里的所有空格与换行,不会自动删除缩进。这也是它排版时必须顶格写的原因。
4. 答案:
python
print("""商品 单价
苹果 5.5""")
解析:三引号允许在源码中直接换行,打印时会保留这个换行效果。也可以写成
print("商品 单价\n苹果 5.5")。
声明:本文部分内容由人工智能辅助生成。