Python123第七周作业+练习题

本文介绍了Python编程中的数据处理挑战,包括计算文本的平均列数、CSV格式的数据清洗与转换。详细讲解了如何处理空行、转换数据格式、去除字符空格等问题,提供了实际操作示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业程序题

一、文本的平均列数

题目描述:打印输出附件文件的平均列数,计算方法如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1)有效行指包含至少一个字符的行,不计算空行;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2)每行的列数为其有效字符数;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。

t = open("latex.log",encoding='utf-8')
l=0
c=0
for line in t:
    line = line.strip("\n")
    if line=="":
        continue
    l+=1
    c+=len(line)
print(round(c/l))

注意点:①Python3.8版本中round()函数五舍六入。

 ②每一行中都有换行字符“\n”,先去掉换行字符再判断是否为空行。

二、CSV格式清洗与转换

题目描述:附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(1)按行进行倒序排列;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(2)每行数据倒序排列;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

(3)使用分号(;)代替逗号(,)分割数据,无空格;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

按照上述要求转换后将数据输出。 

  输入 输出
### Python教程第五章作业内容及答案 #### 5.1 改造练习题3.5,输出更大的田字格 为了实现更大尺寸的田字格打印功能,可以定义一个函数 `print_bigger_grid` 来完成此操作。该函数接受参数指定行列数并据此构建相应大小的网格。 ```python def print_bigger_grid(rows, cols): for i in range(rows * 2 - 1): if i % 2 == 0: line = '+---' * cols + '+' else: line = '| ' * cols + '|' print(line) print_bigger_grid(4, 4) # 打印4x4的大号田字格 ``` #### 5.2 实现isOdd函数 用于判断整数是否为奇数的功能可以通过简单的取模运算来达成: ```python def is_odd(number): return number % 2 != 0 result = is_odd(7) if result: print('The given number is odd.') else: print('The given number is even.') ``` #### 5.3 实现isNum函数 这个函数用来验证输入字符串能否被转换成有效的浮点数值形式: ```python def is_num(s): try: float(s) return True except ValueError: return False input_str = "123" if is_num(input_str): print(f"'{input_str}' can be converted to a floating point value.") else: print(f"'{input_str}' cannot be converted to a floating point value.") ``` #### 5.4 实现multi函数 创建一个多参乘法器,能够接收任意数量的位置参数并将它们相乘返回最终的结果。 ```python def multi(*args): product = 1 for arg in args: product *= arg return product multiplication_result = multi(2, 3, 4) print(multiplication_result) # 输出应该是24 ``` #### 5.5 实现isPrime函数 编写一个质数检测器,通过遍历可能因子的方式来确定给定正整数是不是素数。 ```python import math def is_prime(n): if n <= 1 or (n > 2 and n % 2 == 0): return False sqrt_n = int(math.sqrt(n)) + 1 for divisor in range(3, sqrt_n, 2): if n % divisor == 0: return False return True number_to_check = 29 prime_status = is_prime(number_to_check) print(prime_status) # 对于29应该输出True表示它是质数 ``` 上述代码片段展示了如何针对不同类型的编程目设计具体的解决方案[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值