Comment(s): Everything runs smoothly, without any errors!
Criteria 2: Implementation of Project Requirements
Score Level: 4
Comment(s): Great job including all required classes and functions!
Criteria 3: Software Architecture
Score Level: 4
Comment(s): Excellent work creating clear relationships between your classes and functions throughout the program. Steps like re-using the saved prepared text within the text sample class, and using all the saved text sample values within the find text similarity function go a long way to keep your code concise.
Criteria 4: Uses Python Language Features
Score Level: 3
Comment(s): Great use of various built-in Python features. Nice idea to use the max and min methods inside the frequency_comparison function, though I do think there is an issue with the logic here. Should these calculations be performed inside that last if? What does the max and min mean if they are equal?
Also, no need for the keys() method in this function. Using for key in table1: will work how you expect it to, without the extra method.
Criteria 5: Produces Accurate Output
Score Level: 1
Comment(s): Looks like you got the right person, but the data along the way is a little off. We need to be sure that each step produces accurate results in order to guarantee that the final output is completely accurate. Make sure to test your functions as you go along with small base cases and compare to hand calculated results to ensure that they match your expectations.
Run the given small example in the ngram_creator function. Does the output match?
Try the same for a small or medium sized input for the average sentence length function. Print out some steps along the way inside that function- does sentences_in_text hold the values you expect? What about sentence_lengths?
Also, take another look at your logic inside the frequency_comparison function to ensure that the results there are accurate. This one is a little harder to test, but you should be able to come up with a simple example to try out.
Overall Score: 16/20
Good start on this project. With a few key tweaks, everything will be looking perfect. As a next step, go through each of your functions and try out some basic input to ensure that the results are accurate. This is a crucial step in any program, but especially important here when the stakes are so high!
Have fun and keep up the good work!
Rubric Score
Criteria 1: Valid Python Code
Criteria 2: Implementation of Project Requirements
Criteria 3: Software Architecture
Criteria 4: Uses Python Language Features
frequency_comparison
function, though I do think there is an issue with the logic here. Should these calculations be performed inside that last if? What does the max and min mean if they are equal? Also, no need for thekeys()
method in this function. Usingfor key in table1:
will work how you expect it to, without the extra method.Criteria 5: Produces Accurate Output
ngram_creator
function. Does the output match? Try the same for a small or medium sized input for the average sentence length function. Print out some steps along the way inside that function- doessentences_in_text
hold the values you expect? What aboutsentence_lengths
? Also, take another look at your logic inside thefrequency_comparison
function to ensure that the results there are accurate. This one is a little harder to test, but you should be able to come up with a simple example to try out.Overall Score: 16/20
Good start on this project. With a few key tweaks, everything will be looking perfect. As a next step, go through each of your functions and try out some basic input to ensure that the results are accurate. This is a crucial step in any program, but especially important here when the stakes are so high! Have fun and keep up the good work!