|
| 1 | +# compute ARI |
| 2 | + |
| 3 | +with open("text.txt") as file: |
| 4 | + text = file.read() |
| 5 | + |
| 6 | +character_count = 0 |
| 7 | +for character in text: |
| 8 | + if character == " " or character == "," or character == ".": |
| 9 | + continue |
| 10 | + else: |
| 11 | + character_count += 1 |
| 12 | + |
| 13 | +word_list = text.split(" ") |
| 14 | +word_list = len(word_list) |
| 15 | + |
| 16 | +sentence_list = text.split(".") |
| 17 | +sentence_list = len(sentence_list) |
| 18 | + |
| 19 | +formula = 4.71 * (character_count / word_list) + 0.5 * (word_list / sentence_list) - 21.43 |
| 20 | +print(formula) |
| 21 | + |
| 22 | + |
| 23 | +ari_scale = { |
| 24 | + 1: {'ages': '5-6', 'grade_level': 'Kindergarten'}, |
| 25 | + 2: {'ages': '6-7', 'grade_level': '1st Grade'}, |
| 26 | + 3: {'ages': '7-8', 'grade_level': '2nd Grade'}, |
| 27 | + 4: {'ages': '8-9', 'grade_level': '3rd Grade'}, |
| 28 | + 5: {'ages': '9-10', 'grade_level': '4th Grade'}, |
| 29 | + 6: {'ages': '10-11', 'grade_level': '5th Grade'}, |
| 30 | + 7: {'ages': '11-12', 'grade_level': '6th Grade'}, |
| 31 | + 8: {'ages': '12-13', 'grade_level': '7th Grade'}, |
| 32 | + 9: {'ages': '13-14', 'grade_level': '8th Grade'}, |
| 33 | + 10: {'ages': '14-15', 'grade_level': '9th Grade'}, |
| 34 | + 11: {'ages': '15-16', 'grade_level': '10th Grade'}, |
| 35 | + 12: {'ages': '16-17', 'grade_level': '11th Grade'}, |
| 36 | + 13: {'ages': '17-18', 'grade_level': '12th Grade'}, |
| 37 | + 14: {'ages': '18-22', 'grade_level': 'College'} |
| 38 | +} |
| 39 | + |
| 40 | +#print(f'The ARI for "text.txt" is 12 This corresponds to a 11th Grade level of difficulty that is suitable for an average person {ari_scale[]} years old.') |
| 41 | + |
| 42 | + |
| 43 | +''' |
| 44 | + Score Ages Grade Level |
| 45 | + 1 5-6 Kindergarten |
| 46 | + 2 6-7 First Grade |
| 47 | + 3 7-8 Second Grade |
| 48 | + 4 8-9 Third Grade |
| 49 | + 5 9-10 Fourth Grade |
| 50 | + 6 10-11 Fifth Grade |
| 51 | + 7 11-12 Sixth Grade |
| 52 | + 8 12-13 Seventh Grade |
| 53 | + 9 13-14 Eighth Grade |
| 54 | + 10 14-15 Ninth Grade |
| 55 | + 11 15-16 Tenth Grade |
| 56 | + 12 16-17 Eleventh grade |
| 57 | + 13 17-18 Twelfth grade |
| 58 | + 14 18-22 College |
| 59 | +
|
| 60 | +
|
| 61 | +Lab 9: Compute Automated Readability Index |
| 62 | +Compute the ARI for a given body of text loaded in from a file. |
| 63 | +The automated readability index (ARI) is a formula for computing the U.S. grade level for a given block of text. |
| 64 | +The general formula to compute the ARI is as follows: |
| 65 | +
|
| 66 | +ARI Formula |
| 67 | +
|
| 68 | +The score is computed by multiplying the number of characters divided by the number of words by 4.71, |
| 69 | +adding the number of words divided by the number of sentences multiplied by 0.5, and subtracting 21.43. |
| 70 | +If the result is a decimal, always round up. |
| 71 | +Scores greater than 14 should be presented as having the same age and grade level as scores of 14. |
| 72 | + |
| 73 | + ari_scale = { |
| 74 | + 1: {'ages': '5-6', 'grade_level': 'Kindergarten'}, |
| 75 | + 2: {'ages': '6-7', 'grade_level': '1st Grade'}, |
| 76 | + 3: {'ages': '7-8', 'grade_level': '2nd Grade'}, |
| 77 | + 4: {'ages': '8-9', 'grade_level': '3rd Grade'}, |
| 78 | + 5: {'ages': '9-10', 'grade_level': '4th Grade'}, |
| 79 | + 6: {'ages': '10-11', 'grade_level': '5th Grade'}, |
| 80 | + 7: {'ages': '11-12', 'grade_level': '6th Grade'}, |
| 81 | + 8: {'ages': '12-13', 'grade_level': '7th Grade'}, |
| 82 | + 9: {'ages': '13-14', 'grade_level': '8th Grade'}, |
| 83 | + 10: {'ages': '14-15', 'grade_level': '9th Grade'}, |
| 84 | + 11: {'ages': '15-16', 'grade_level': '10th Grade'}, |
| 85 | + 12: {'ages': '16-17', 'grade_level': '11th Grade'}, |
| 86 | + 13: {'ages': '17-18', 'grade_level': '12th Grade'}, |
| 87 | + 14: {'ages': '18-22', 'grade_level': 'College'} |
| 88 | +} |
| 89 | +the output should look like: |
| 90 | +-------------------------------------------------------- |
| 91 | +
|
| 92 | +The ARI for gettysburg-address.txt is 12 |
| 93 | +This corresponds to a 11th Grade level of difficulty |
| 94 | +that is suitable for an average person 16-17 years old. |
| 95 | +
|
| 96 | +-------------------------------------------------------- |
| 97 | +''' |
0 commit comments