Python 用户交互与格式化输出(五)

Python 用户交互与格式化输出

本人掘金号,欢迎点击关注:掘金号地址

本人公众号,欢迎点击关注:公众号地址

一、引言

在 Python 编程中,用户交互和格式化输出是非常重要的部分。用户交互允许程序与用户进行沟通,获取用户输入的数据;而格式化输出则能让程序以美观、易读的方式展示信息给用户。本文将详细介绍 Python 中用户交互和格式化输出的相关知识,并通过丰富的带注释代码示例进行说明。

二、用户交互

2.1 使用 input() 函数获取用户输入

input() 函数是 Python 中用于从用户那里获取输入的基本函数。当程序执行到 input() 函数时,会暂停并等待用户输入内容,用户输入完成并按下回车键后,input() 函数会返回用户输入的内容,且返回值类型为字符串。

python 复制代码
# 使用 input() 函数提示用户输入姓名
name = input("请输入你的姓名:")  # 将用户输入的姓名赋值给变量 name
print("你输入的姓名是:" + name)  # 打印用户输入的姓名

2.2 处理不同类型的用户输入

由于 input() 函数返回的是字符串类型,如果需要处理其他类型的数据,需要进行类型转换。

python 复制代码
# 获取用户输入的年龄,这里默认用户输入的是整数
age_str = input("请输入你的年龄:")  # 将用户输入的年龄作为字符串获取
age = int(age_str)  # 将字符串类型的年龄转换为整数类型
print("你的年龄是:", age)  # 打印转换后的年龄

# 获取用户输入的身高,这里默认用户输入的是浮点数
height_str = input("请输入你的身高(米):")  # 将用户输入的身高作为字符串获取
height = float(height_str)  # 将字符串类型的身高转换为浮点数类型
print("你的身高是:", height, "米")  # 打印转换后的身高

2.3 错误处理

在进行类型转换时,如果用户输入的数据无法正确转换,会引发异常。可以使用 try-except 语句来处理这些异常,增强程序的健壮性。

python 复制代码
try:
    # 尝试获取用户输入的整数
    num_str = input("请输入一个整数:")  # 获取用户输入的内容
    num = int(num_str)  # 尝试将输入内容转换为整数
    print("你输入的整数是:", num)  # 若转换成功,打印该整数
except ValueError:
    print("你输入的不是有效的整数,请重新输入。")  # 若转换失败,打印错误提示信息

三、格式化输出

3.1 使用 print() 函数进行基本输出

print() 函数是 Python 中用于输出信息的基本函数,可以直接输出变量或字符串。

python 复制代码
# 直接输出字符串
print("Hello, World!")  # 打印字符串 "Hello, World!"

# 输出变量
message = "Python is great"  # 定义一个字符串变量
print(message)  # 打印变量 message 的值

3.2 旧式字符串格式化(% 格式化)

在 Python 中,旧式字符串格式化使用 % 操作符。不同的数据类型有不同的格式化符号,如 %s 用于字符串,%d 用于整数,%f 用于浮点数等。

python 复制代码
# 格式化字符串和整数
name = "Alice"  # 定义一个字符串变量
age = 25  # 定义一个整数变量
print("我的名字是 %s,年龄是 %d 岁。" % (name, age))  # 使用 % 格式化输出姓名和年龄

# 格式化浮点数
pi = 3.1415926  # 定义一个浮点数变量
print("圆周率约为 %.2f" % pi)  # 使用 % 格式化输出保留两位小数的圆周率

3.3 新式字符串格式化(str.format() 方法)

Python 提供了 str.format() 方法来进行字符串格式化,这种方式更加灵活和易读。

python 复制代码
# 基本的 str.format() 使用
name = "Bob"  # 定义一个字符串变量
age = 30  # 定义一个整数变量
print("我的名字是 {},年龄是 {} 岁。".format(name, age))  # 使用 str.format() 方法格式化输出姓名和年龄

# 通过索引指定参数顺序
print("年龄是 {1} 岁的 {0} 很开心。".format(name, age))  # 通过索引指定参数顺序进行格式化输出

# 格式化浮点数
pi = 3.1415926  # 定义一个浮点数变量
print("圆周率约为 {:.2f}".format(pi))  # 使用 str.format() 方法格式化输出保留两位小数的圆周率

3.4 f - 字符串(格式化字符串字面值)

Python 3.6 及以上版本引入了 f - 字符串,这是一种更简洁、更直观的字符串格式化方式。

python 复制代码
name = "Charlie"  # 定义一个字符串变量
age = 35  # 定义一个整数变量
# 使用 f - 字符串进行格式化输出
print(f"我的名字是 {name},年龄是 {age} 岁。")  

# 格式化浮点数
pi = 3.1415926  # 定义一个浮点数变量
print(f"圆周率约为 {pi:.2f}")  # 使用 f - 字符串格式化输出保留两位小数的圆周率

四、总结与展望

4.1 总结

Python 中的用户交互和格式化输出是实现程序与用户有效沟通的重要手段。input() 函数方便我们获取用户输入,通过类型转换和错误处理可以确保输入数据的有效性。而在格式化输出方面,从旧式的 % 格式化,到新式的 str.format() 方法,再到简洁的 f - 字符串,为我们提供了多种选择,能够根据不同的场景和需求,以美观、易读的方式展示信息。

4.2 展望

随着 Python 的不断发展,用户交互和格式化输出的功能可能会更加丰富和强大。例如,可能会出现更智能的输入验证机制,减少开发者手动处理输入错误的工作量;在格式化输出方面,或许会引入更多个性化的格式化选项,以满足不同领域和场景下对信息展示的特殊要求。同时,在与图形化界面和网络交互等方面的结合上,用户交互和格式化输出也将有更广阔的发展空间。

相关推荐
明月醉窗台31 分钟前
[20250507] AI边缘计算开发板行业调研报告 (2024年最新版)
人工智能·边缘计算
Blossom.1181 小时前
低代码开发:开启软件开发的新篇章
人工智能·深度学习·安全·低代码·机器学习·计算机视觉·数据挖掘
安特尼1 小时前
招行数字金融挑战赛数据赛道赛题一
人工智能·python·机器学习·金融·数据分析
带娃的IT创业者1 小时前
《AI大模型应知应会100篇》第59篇:Flowise:无代码搭建大模型应用
人工智能
EnticE1521 小时前
[高阶数据结构]二叉树经典面试题
数据结构·算法·面试
Attacking-Coder1 小时前
前端面试宝典---webpack面试题
前端·面试·webpack
数澜悠客2 小时前
AI与IoT携手,精准农业未来已来
人工智能·物联网
猎板PCB黄浩2 小时前
AI优化高频PCB信号完整性:猎板PCB的技术突破与应用实践
人工智能
机器学习之心2 小时前
SHAP分析!Transformer-GRU组合模型SHAP分析,模型可解释不在发愁!
深度学习·gru·transformer·shap分析
Icoolkj2 小时前
可灵 AI:开启 AI 视频创作新时代
人工智能·音视频