Python题目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python题目相关的知识,希望对你有一定的参考价值。

14. 单词计数。 UNIX/Linux 系统上有一个通用实用程序,名为“we”。该程序分析一个文件以确定其中包含的行数、单词数和字符数。编写你自己的wc版本。程序应接受文件名作为输入,然后打印三个数字,显示文件的行数、单词数和字符数。

这并不是什么困难的题目吧?属于很基础的内容了。

不考虑性能与功能健壮的情况下,伪代码如下:

以r模式打开文件:
    逐行读出:
        行计数加1
        以空格拆分行为一个列表,
        词计数增加列表长度
        字符数增加列表所有元素的长度之和
输出结果

在python的安装目录下有文件LICENSE.txt,以它为例:

linecount = wordcount = charcount = 0
with open('LICENSE.txt', 'r') as f:
    for line in f:
        linecount += 1
        words = line.split(' ')
        wordcount += len(words)
        charcount += sum(len(_) for _ in words)
print(linecount, wordcount, charcount)

运行输出结果:

605 5258 25385

至于更进一步,就需要考虑一些意外的情况了:

是否有chr(9)替代了某些空格?它会影响对line的拆分,进而影响单词数与字符数的统计;

是否有连续的空格,它的影响同上;

除空格外,是否还有不计入字符数据的字符(比如标点符号之类的)?

要处理这些问题,一般都需要在将一行拆分为words的过程中或紧随其后去处理。如有必要,“line.split(' ')”可以替换为一个自行编写的函数如splitbyword(),并在其中实现上述相关的功能。

参考技术A 翻转一个list,不能使用下面列出的Python库提供的方法,意思就是自己实现咯。调试中,稍后补充哈

以上是关于Python题目的主要内容,如果未能解决你的问题,请参考以下文章

Python题目,求解!

python小白望指导下面的题目?

python大作业都有哪些题目

这个python题目怎么写?

python编程题目,会的帮帮忙

python 题目