I did this programming to calculate the average letters of a phrase. Do you think this program is responsible for all texts? And do you have a better offer? Thanks
# calculate average word length of phrase print("This program will calculate average word length!") def length_of_words (string,n): n_words = 0 words_in_string=string.split() # Separation of words for this_word in words_in_string: # count the number of letters for each word if len(this_word) == n: n_words = n_words + 1 return n_words string = input("Please give me a phrase:n") # get the phrase s = 0 # Initialize the sum iteration = 0 # Initialize to count the number of words for n in range(1,len(string)): len_words=length_of_words(string,n) if len_words==0: continue print("the number of",n, "letter is",len_words) iteration=iteration+1 #print(iteration) s=n+s average=s/iteration # average of word length #print(s) print("The average word length of phrase is", average) # Showing average
Advertisement
Answer
Alternatively, this program can be simplified to this function: Your original program just make it overly complex.
def avg_len(sentence): words = sentence.split() # split this sentence to words return sum(len(w) for w in words)/ len(words) # the avg. word's length
Running it:
>>> avg_len('this is a raining day') 3.4