Python 文件操作、随机数生成和字符串处理实战:从数据生成到表达式计算
完成该实验后,能学会以下三种能力:
- 文件的操作能力:包括文件创建、写入、读取、删除、移动、改名等基本操作,以及异常处理。
- 随机数生成和序列操作能力:包括使用 random 模块生成随机数,使用列表进行序列操作,判断序列中是否包含特定元素等。
- 字符串操作和表达式计算能力:包括字符串的拼接、替换、格式化等操作,以及使用 eval() 函数计算字符串表达式的值。
实验步骤:
-
创建文件并写入随机数据
- 在 D 盘(Windows 系统)或者/usr/local(Linux)下创建一个新的文件 test.txt。
- 如果文件存在,提示用户是否删除。
- 如果用户输入 'y',删除原来的 test.txt 并新建一个新的 test.txt。
- 随机生成 10 个 -1-1 的小数,保留 2 位小数点,并写入文件。
- 检查生成的随机数中是否至少有 2 个负数,如果没有则重新生成。
- 安全关闭文件并给出完成提示。
-
读取数据并排序
- 打开 test.txt 文件。
- 读取文件中的每个小数,并将其按从大到小的顺序进行排列,形成一个字符串。
- 输出该字符串。
-
处理字符串
- 从排序后的字符串中删除所有小数点 '.' 以及小数点之前的 '0'。
- 输出处理后的字符串。
-
计算表达式并追加到文件
- 使用 eval() 函数计算处理后的字符串对应的表达式值。
- 将计算结果以 ',' 格式化后输出。
- 将计算结果追加到 test.txt 文件末尾。
- 安全关闭 test.txt 文件并给出提示。
-
移动文件并改名
- 将 test.txt 文件移动至当前目录。
- 将 test.txt 文件改名为 test_solved.txt。
- 给出提示。
示例:
已创建文件 D:\test.txt 并已写入 10 个随机数据! 从 D:\test.txt 中读取到的数据为: 0.23,0.21,0.89,0.78,-0.98,-0.45,0.23,0.11,-0.78,-0.66 排序之后得到的字符串为: 0.890.780.230.230.210.11-0.45-0.66-0.78-0.98 经过处理之后的字符串为: 897823232111-45-66-78-98 最终得到的值为:897,823,231,824 已追加该数值! 已移动到当前目录! 已改名!
代码示例:
import os
import random
def create_and_write_data():
# ... (实现文件创建、写入随机数据、检查负数个数的代码)
def read_and_sort_data():
# ... (实现读取数据、排序并输出的代码)
def process_string():
# ... (实现字符串处理的代码)
def calculate_and_append():
# ... (实现计算表达式并追加到文件的代码)
def move_and_rename():
# ... (实现移动文件和改名的代码)
if __name__ == "__main__":
create_and_write_data()
read_and_sort_data()
process_string()
calculate_and_append()
move_and_rename()
注意:
- 上述代码示例仅供参考,你需要根据实际情况进行完善。
- 代码中需要使用异常处理机制,确保程序的稳定性和可靠性。
- 可以根据自己的需求对代码进行扩展,例如添加更多的功能,或使用更高级的编程技巧。
原文地址: https://www.cveoy.top/t/topic/nKNQ 著作权归作者所有。请勿转载和采集!