этот код напечатает все количество строк, общее количество слов и общее количество символов в текстовом файле. Он работает нормально и дает ожидаемый результат. Но я хочу подсчитать количество символов в каждой строке и напечатать так: -
Line No. 1 has 58 Characters
Line No. 2 has 24 Characters
Код :-
import string
def fileCount(fname):
#counting variables
lineCount = 0
wordCount = 0
charCount = 0
words = []
#file is opened and assigned a variable
infile = open(fname, 'r')
#loop that finds the number of lines in the file
for line in infile:
lineCount = lineCount + 1
word = line.split()
words = words + word
#loop that finds the number of words in the file
for word in words:
wordCount = wordCount + 1
#loop that finds the number of characters in the file
for char in word:
charCount = charCount + 1
#returns the variables so they can be called to the main function
return(lineCount, wordCount, charCount)
def main():
fname = input('Enter the name of the file to be used: ')
lineCount, wordCount, charCount = fileCount(fname)
print ("There are", lineCount, "lines in the file.")
print ("There are", charCount, "characters in the file.")
print ("There are", wordCount, "words in the file.")
main()
As
for line in infile:
lineCount = lineCount + 1
подсчитывает все строки, но как взять каждую строку для этой операции? Я использую Python 3.X
len
. - person Avinash Raj   schedule 12.07.2015collections.Counter
, которая представляет собой специализированный словарь, который подсчитывает входы. Смотрите мой ответ. Более короткий код и более производительный, потому что нет необходимости многократно добавлять в списокwords
- person smci   schedule 13.05.2018