Python入门:3.Python的输入和输出格式化

Python入门:3.Python的输入和输出格式化

引言

在 Python 编程中,输入与输出是程序与用户交互的核心部分。而输出格式化更是对程序表达能力的极大增强,可以让结果以清晰、美观且易读的方式呈现给用户。本文将深入探讨 Python 的输入与输出操作,特别是如何使用格式化方法来提升代码质量和可读性。

一、输入操作

Python 提供了简单而强大的输入功能,通过内置函数 input() 可以从用户那里获取字符串形式的输入。以下是一些基本用法和注意事项:

1. 基本用法
name =input("请输入你的名字: ")print(f"你好, {name}!")
2. 转换数据类型

input() 返回的值始终是字符串类型。如果需要整数、浮点数或其他类型,必须显式转换:

age =int(input("请输入你的年龄: ")) height =float(input("请输入你的身高(米): "))print(f"你今年 {age} 岁,身高 {height:.2f} 米。")
3. 处理异常输入

在用户输入数据时,经常可能发生错误输入。因此,我们可以使用 try...except 来捕获异常:

try: age =int(input("请输入你的年龄: "))print(f"你的年龄是 {age}")except ValueError:print("输入的不是有效的整数!")
4. 类型转换的注意事项

对于复杂的输入场景,可以将字符串解析为列表、字典或其他类型。例如:

# 将逗号分隔的字符串转换为列表 numbers =input("请输入一组数字,用逗号分隔: ").split(",") numbers =[int(num)for num in numbers]print(f"你输入的数字是: {numbers}")# 将 JSON 格式字符串转换为字典import json data =input("请输入 JSON 格式的数据: ") data_dict = json.loads(data)print(f"解析后的数据: {data_dict}")

二、输出操作

Python 提供了多种方法进行输出,最常用的是 print() 函数。下面详细介绍输出的格式化方法。

1. 基本输出

print() 函数可以直接输出字符串、变量、表达式等:

x =10 y =20print("x + y =", x + y)
2. 格式化输出方法

格式化输出是 Python 中非常强大的功能,可以通过多种方法实现。

2.1 使用旧式 % 格式化

这是 Python 中较早的一种格式化方法,类似于 C 语言中的 printf

name ="Alice" age =25print("%s 的年龄是 %d 岁。"%(name, age))
  • 常见格式符:
    • %s: 字符串
    • %d: 整数
    • %f: 浮点数
    • %.2f: 保留两位小数的浮点数
2.2 使用 str.format()

这种方法更加灵活,支持按位置或按名称插入变量:

# 按位置print("{0} 的年龄是 {1} 岁。".format(name, age))# 按名称print("{name} 的年龄是 {age} 岁。".format(name="Bob", age=30))# 格式化浮点数 pi =3.14159print("圆周率是 {0:.2f}".format(pi))
2.3 使用 f-string (推荐)

从 Python 3.6 开始,f-string 提供了更简洁、更直观的格式化方法:

name ="Charlie" age =28print(f"{name} 的年龄是 {age} 岁。")# 支持表达式 x =5 y =3print(f"{x} + {y} = {x + y}")# 浮点数格式化print(f"圆周率是 {pi:.2f}")
3. 多行输出

使用三引号字符串('''""")可以轻松实现多行输出:

print("""这是多行输出: 第一行 第二行 第三行 """)
4. 控制符与转义字符
  • 换行符:\n
  • 制表符:\t
  • 反斜杠:\\
print("Python\n编程\t语言")

三、综合案例

下面是一个结合输入、输出和格式化的案例:

案例描述

编写一个简单的购物结算程序,用户输入商品名称、单价和数量,程序计算总价并输出格式化账单。

实现代码
print("欢迎使用购物结算程序")try: product =input("请输入商品名称: ") price =float(input("请输入商品单价: ")) quantity =int(input("请输入购买数量: ")) total = price * quantity print("\n结算账单:")print(f"商品名称: {product}")print(f"商品单价: {price:.2f} 元")print(f"购买数量: {quantity}")print(f"总价: {total:.2f} 元")except ValueError:print("输入的数据格式有误,请重试!")
运行示例
欢迎使用购物结算程序 请输入商品名称: 苹果 请输入商品单价: 3.5 请输入购买数量: 4 结算账单: 商品名称: 苹果 商品单价: 3.50 元 购买数量: 4 总价: 14.00 元 

四、总结

通过对输入和输出的深入理解与实践,Python 程序员可以更好地与用户交互,并以优雅的方式展示结果。无论是简单的 print(),还是复杂的格式化输出,掌握这些技巧对于编写高质量代码至关重要。在实际开发中,根据具体需求选择适合的格式化方法,可以大大提高程序的可读性和用户体验。

在这里插入图片描述

Read more

Neo4j 知识讲解与在线工具使用教程

图数据库领域的核心工具 ——Neo4j,同时详细拆解其在线预览控制台(https://console-preview.neo4j.io/)的使用方法,以及查询工具(https://console-preview.neo4j.io/tools/query)的模块功能。 一、Neo4j 核心知识铺垫 在使用工具前,我们需要先理解 Neo4j 的本质和核心概念,这是后续操作的基础。 1. 什么是 Neo4j? Neo4j 是世界上最流行的原生图数据库(Native Graph Database),专门用于存储、查询和分析 “实体之间的关联关系”。它与我们熟悉的 MySQL 等关系型数据库的核心差异的是: * 关系型数据库(MySQL):用 “表 + 行 + 外键” 间接表示关联,查询多表关联时需频繁 JOIN,效率低; * 图数据库(Neo4j)

By Ne0inhk
【无人机】无人机路径规划算法

【无人机】无人机路径规划算法

目录 一、引言:无人机与路径规划算法 二、路径规划算法基础 (一)定义与重要性 (二)规划目标与约束条件 三、常见路径规划算法详解 (一)A * 算法 (二)Dijkstra 算法 (三)RRT(快速扩展随机树)算法 (四)蚁群算法 四、算法应用实例与效果展示 (一)不同场景下的算法应用 (二)算法性能对比数据 五、算法的优化与发展趋势 (一)现有算法的优化策略 (二)结合新技术的发展方向 六、挑战与展望 (一)面临的技术挑战 (二)未来应用前景 七、结论 一、引言:无人机与路径规划算法 在科技飞速发展的今天,无人机作为一种极具创新性的技术产物,已深度融入我们生活的方方面面,

By Ne0inhk

简单理解:单片机怎么和FPGA通信

了解单片机与 FPGA 之间的通信方式,这是嵌入式系统中非常常见的硬件交互场景,核心是要根据传输速率、硬件资源、开发复杂度选择合适的通信协议。 一、主流通信方式及实现方案 单片机和 FPGA 通信主要分为并行通信和串行通信两大类,下面按从易到难、从低速到高速的顺序介绍: 1. 通用 IO 口(GPIO)自定义协议(最简单) 适合低速、短距离、数据量小的场景(如按键、状态交互),完全自定义通信规则,开发灵活。 * 硬件连接: * 单片机:1 个输出引脚(发送) + 1 个输入引脚(接收) * FPGA:1 个输入引脚(接收) + 1 个输出引脚(发送) * 需共地,建议加 10K 上拉电阻提高稳定性。 * 单片机端(C 语言,

By Ne0inhk