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

相关推荐
Hello Mr.Z2 分钟前
使用pytorch创建/训练/推理OCR模型
人工智能·pytorch·python
wan5555cn6 分钟前
文字生视频的“精准”代码设定的核心原则本质是最小化文本语义与视频内容的KL散度
人工智能·笔记·深度学习·音视频
关键帧-Keyframe8 分钟前
音视频面试题集锦第 38 期
macos·面试·音视频·cocoa
IT_陈寒22 分钟前
Python异步编程的7个致命误区:90%开发者踩过的坑及高效解决方案
前端·人工智能·后端
老猿讲编程24 分钟前
存算一体:重构AI计算的革命性技术(1)
人工智能·重构
猫猫村晨总31 分钟前
整理了几道前端面试题
前端·vue.js·面试
easy202035 分钟前
从 Excel 趋势线到机器学习:拆解 AI 背后的核心框架
人工智能·笔记·机器学习
绝无仅有38 分钟前
三方系统callback回调MySQL 报错排查与解决:mysql context cancel
后端·面试·github
绝无仅有38 分钟前
项目三方合同提交失败的MySQL 错误排查与解决:`context deadline exceeded`
后端·面试·github
天机️灵韵43 分钟前
OpenAvatarChat项目在Windows本地运行指南
人工智能·开源项目·openavatarchat