介绍
在这个项目中,你将学习如何使用 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 脚本文件并导入必要的模块。
- 打开一个文本编辑器,在
/home/labex/project目录下创建一个名为find_int.py的新文件。 - 在文件开头,导入
re(正则表达式)模块。该模块将用于从用户输入中提取整数。
import re
定义提取整数的函数
在这一步中,你将创建一个函数,该函数接受用户输入并从中提取所有整数。
- 定义一个名为
extract_integers的函数,该函数接受一个参数user_input。
def extract_integers(user_input):
## 下一步将添加代码
pass
实现整数提取逻辑
在这一步中,你将使用正则表达式实现从用户输入中提取整数的逻辑。
- 在
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()函数返回所有匹配整数的列表。
- 然后,该函数将提取的整数连接成一个用空格分隔的字符串并返回。
处理用户输入并打印结果
在这最后一步中,你将提示用户输入,调用extract_integers函数,并打印结果。
- 在
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 中练习更多实验来提升你的技能。



