提取用户输入信息

PythonBeginner
立即练习

介绍

在这个项目中,你将学习如何使用 Python 脚本和正则表达式从用户输入中提取整数。这个项目旨在帮助你理解正则表达式的基础知识,以及如何将它们应用于实际的编程任务中。

👀 预览

~/project/$ python find_int.py
a1b2c3d4
1 2 3 4
~/project/$ python find_int.py
1 2 3 4
1 2 3 4
~/project/$ python find_int.py
12 3ad5
12 3 5

🎯 任务

在这个项目中,你将学习:

  • 如何创建一个 Python 脚本以处理用户输入
  • 如何使用正则表达式从字符串中查找并提取整数
  • 如何处理和格式化提取的整数以进行输出

🏆 成果

完成这个项目后,你将能够:

  • 编写一个能够从用户输入中提取数值数据的 Python 脚本
  • 理解正则表达式的基本原理以及如何在 Python 中应用它们
  • 展示你将 Python 编程和正则表达式技术相结合以解决实际问题的能力

设置 Python 脚本

在这一步中,你将创建一个新的 Python 脚本文件并导入必要的模块。

  1. 打开一个文本编辑器,在/home/labex/project目录下创建一个名为find_int.py的新文件。
  2. 在文件开头,导入re(正则表达式)模块。该模块将用于从用户输入中提取整数。
import re
✨ 查看解决方案并练习

定义提取整数的函数

在这一步中,你将创建一个函数,该函数接受用户输入并从中提取所有整数。

  1. 定义一个名为extract_integers的函数,该函数接受一个参数user_input
def extract_integers(user_input):
    ## 下一步将添加代码
    pass
✨ 查看解决方案并练习

实现整数提取逻辑

在这一步中,你将使用正则表达式实现从用户输入中提取整数的逻辑。

  1. extract_integers函数内部,使用re.findall()方法在user_input字符串中查找所有数字序列(整数)。
def extract_integers(user_input):
    integers = re.findall(r"\d+", user_input)
    return " ".join(integers)

正则表达式模式r"\d+"匹配一个或多个数字(0 - 9)。re.findall()函数返回所有匹配整数的列表。

  1. 然后,该函数将提取的整数连接成一个用空格分隔的字符串并返回。
✨ 查看解决方案并练习

处理用户输入并打印结果

在这最后一步中,你将提示用户输入,调用extract_integers函数,并打印结果。

  1. find_int.py文件末尾添加以下代码:
if __name__ == "__main__":
    user_input = input()
    result = extract_integers(user_input)
    print(result)

这段代码检查脚本是否正在直接运行(而不是作为模块导入),然后提示用户输入,使用用户输入调用extract_integers函数,并打印生成的用空格分隔的整数串。

现在,你的find_int.py脚本已完成。你可以运行该脚本并用不同的用户输入进行测试。

~/project$ python find_int.py
a1b2c3d4
1 2 3 4
~/project$ python find_int.py
1 2 3 4
1 2 3 4
~/project$ python find_int.py
12 3ad5
12 3 5

恭喜你!你已经完成了使用 Python 脚本和正则表达式从用户输入中提取整数的项目。

✨ 查看解决方案并练习

总结

恭喜你!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。