我必须计算文件中任何数字的总和并打印总和。
数字定义为以0到9开头的数字,然后是0到9任意数目的字符串。
字母数字字符串(包括数字和字母的字符串)不包括在求和中。
这是文件的内容:
a b cddde ff 1 5 hH five lll 0 l 10 99 abcd7 9kk 0
因此,在这种情况下,答案是115。
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时引发。