如何对一个文本文件中的所有数字求和?

发布于 2021-01-29 15:03:10

我必须计算文件中任何数字的总和并打印总和。

数字定义为以0到9开头的数字,然后是0到9任意数目的字符串。

字母数字字符串(包括数字和字母的字符串)不包括在求和中。

这是文件的内容:

a b cddde ff 1
5
hH five lll 0
l 10
99 abcd7
9kk
0

因此,在这种情况下,答案是115。

关注者
0
被浏览
115
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    def function():
    
        infile = open("test.txt", 'r')
        content = infile.read()       
        infile.close()
        wordList = content.split()
    
        total = 0
    
        for i in wordList:
            if i.isnumeric():
                total += int(i)
        return total
    

    在此解决方案中,我将文件命名为test.txt。想法是您遍历wordList,这是一个包含test.txt中拼接的每个项目的列表(尝试在循环之前打印wordList以便自己查看)。然后,我们尝试将每个项目都强制转换为int格式(假设文件中没有小数,如果可以,则可以包括float强制转换)。然后,我们捕获ValueError,该错误在将“
    a”转换为int时引发。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看