CS50_Labs/Lab6/sentimental/readability.py

34 lines
903 B
Python

from cs50 import get_string
# initializing default values for variables
letters = 0
words = 1
sentences = 0
# getting string from user and looping through each character
user_input = get_string("Text:")
n = len(user_input)
for i in range(n):
ascii_code = ord(user_input[i])
# counting letters based on ascii values from a-z & A-Z
if 65 <= ascii_code <= 122:
letters += 1
# counting words based on ascii value for space
elif ascii_code == 32:
words += 1
# counting sentences based on ascii value for ".","!","?"
elif ascii_code == 33 or ascii_code == 63 or ascii_code == 46:
sentences += 1
# calculating Coleman-Liau index
let = letters / words * 100
s = sentences / words * 100
index = round(0.0588 * let - 0.296 * s - 15.8)
if index < 1:
print("Before Grade 1")
elif index >= 16:
print("Grade 16+")
else:
print("Grade " + str(index))