Michael-黎明前的茶会
Michael的头像-黎明前的茶会
站长江苏省连云港市管理员
不必借光而行,你我亦是星辰
昨天
以下是根据练习题整理的参考答案,涵盖了多种实现方式: 基础题 1. 直接输出 ```python print("张三") # 输出名字 ``` 2. 多参数输出 ```python print("张三", 18, "北京") # 输出:张三 18 北京 ``` 3. 修改分隔符 ```python print("张三", 18, "北京", sep=",") # 输出:张三,18,北京 ``` 提高题 4. 格式化输出 ```python # 方法1: f-string name = "张三" age = 18 city = "北京" print(f"我的名字是{name},今年{age}岁,生活在{city}。") # 方法2: format() print("我的名字是{},今年{}岁,生活在{}。".format(name, age, city)) ``` 5. 输出数字计算 ```python # 加法 print(15 + 27) # 输出:42 # 除法保留两位小数 print(round(100/3, 2)) # 输出:33.33 # 或者 print(f"{100/3:.2f}") # 输出:33.33 ``` 6. 转义字符练习 ```python # 方法1: 使用单引号包裹,内部双引号不需要转义 print('他说:"Python 很有趣!"\n然后开始写代码。') # 方法2: 使用双引号包裹,内部双引号需要转义 print("他说:\"Python 很有趣!\"\n然后开始写代码。") ``` 进阶题 7. 控制结尾符 ```python print("Hello", end=" ") # 以空格结尾,不换行 print("World") # 接着输出World,最终在同一行显示 # 输出:Hello World ``` 8. 格式化对齐 ```python # 使用f-string格式化 print(f"{'姓名':<10}{'年龄':<10}{'城市':<10}") print(f"{'小明':<10}{20:<10}{'北京':<10}") print(f"{'Alice':<10}{25:<10}{'New York':<10}") # 使用format方法 print("{:<10}{:<10}{:<10}".format('姓名', '年龄', '城市')) print("{:<10}{:<10}{:<10}".format('小明', 20, '北京')) print("{:<10}{:<10}{:<10}".format('Alice', 25, 'New York')) ``` 9. 打印特殊图案 ```python # 方法1: 循环打印 for i in range(1, 6): print('*' * i) # 方法2: 使用列表推导式 print('\n'.join('*' * i for i in range(1, 6))) ``` 综合应用题 10. 打印简单表格 ```python # 格式化输出表格 print(f"{'商品':<10}{'单价':<10}{'数量':<10}{'总价':<10}") print("-" * 40) print(f"{'苹果':<10}{5.00:<10.2f}{3:<10}{5.00*3:<10.2f}") print(f"{'香蕉':<10}{3.50:<10.2f}{2:<10}{3.50*2:<10.2f}") print(f"{'橙子':<10}{4.00:<10.2f}{5:<10}{4.00*5:<10.2f}") ``` 11. 模拟进度条 ```python import time for progress in [10, 50, 100]: print(f"\r[{progress}%]", end="") # \r回到行首,end=""不换行 time.sleep(1) # 暂停1秒 print() # 最后换行 ``` 12. 打印函数信息 ```python def add(a, b): result = a + b print(f"函数 add 被调用,参数为 {a} 和 {b},结果为 {result}") return result # 调用函数 add(3, 5) # 输出:函数 add 被调用,参数为 3 和 5,结果为 8 ``` 挑战题 13. 打印彩色文本 ```python # ANSI颜色代码 RED = '\033[91m' GREEN = '\033[92m' RESET = '\033[0m' # 重置颜色 print(f"{RED}错误{RESET}") print(f"{GREEN}成功{RESET}") ``` 14. 动态打印时间 ```python import time for i in range(5): # 打印5次 current_time = time.strftime("%H:%M:%S", time.localtime()) print(f"\r当前时间:{current_time}", end="", flush=True) time.sleep(1) # 等待1秒 print() # 最后换行 ``` 15. 打印函数执行过程 ```python def factorial(n, depth=0): indent = " " * depth # 根据深度缩进 print(f"{indent}factorial({n})被调用") if n == 0: print(f"{indent}返回 1") return 1 else: result = n * factorial(n-1, depth+1) print(f"{indent}返回 {result}") return result # 测试 print("计算5的阶乘:") factorial(5) ``` 附加说明 1. f-string(Python 3.6+)是最简洁的格式化方法,推荐使用 2. sep参数:控制多个参数之间的分隔符,默认是空格 3. end参数:控制输出结束时的字符,默认是换行符`\n` 4. 转义字符: - `\n`:换行 - `\t`:制表符 - `\\`:反斜杠 - `\"` 或 `\'`:引号 - `\r`:回车(回到行首) 5. 格式化语法: - `:<10`:左对齐,宽度10 - `:>10`:右对齐,宽度10 - `:^10`:居中对齐,宽度10 - `:.2f`:保留两位小数
11天前