From ab875a089847484bd583e74a586283f53cbb48e7 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Mon, 25 Oct 2021 19:28:37 -0400 Subject: [PATCH] [+] TT1 --- TT1/q1/q1.py | 137 ++++++++++++++++++++++++++++ TT1/q2/q2.pdf | Bin 0 -> 97724 bytes TT1/q2/q2.tex | 92 +++++++++++++++++++ TT1/q3/q3.py | 247 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 476 insertions(+) create mode 100755 TT1/q1/q1.py create mode 100644 TT1/q2/q2.pdf create mode 100755 TT1/q2/q2.tex create mode 100755 TT1/q3/q3.py diff --git a/TT1/q1/q1.py b/TT1/q1/q1.py new file mode 100755 index 0000000..daca00b --- /dev/null +++ b/TT1/q1/q1.py @@ -0,0 +1,137 @@ +"""CSC110 Fall 2021: Term Test 1, Question 1 (Function Design) + +Module Description +================== +This Python file contains instructions for this question. There are THREE +parts of this question, labelled "Part (a)", "Part (b)", etc. +The comments in this file contain instructions on how to complete each part, +so please read those comments carefully. + +At the bottom of the file we've provided code to run doctest, pytest, and python_ta. +python_ta is not required for grading. + +SUBMIT THIS FILE FOR GRADING! + +Copyright and Usage Information +=============================== + +This file is provided solely for the personal and private use of students +taking CSC110 at the University of Toronto St. George campus. All forms of +distribution of this code, whether as given or with any changes, are +expressly prohibited. For more information on copyright for CSC110 materials, +please consult our Course Syllabus. + +This file is Copyright (c) 2021 Mario Badr and Tom Fairgrieve. +""" + +from hypothesis import given +from hypothesis.strategies import integers, tuples + + +#################################################################################################### +# Part (a) +#################################################################################################### +# Here is a definition: +# +# Let p be a 3-item tuple of the form (a, b, c) where a, b and c are positive integers. +# We say that p is a Pythagorean triple whenever c squared is equal to the sum of a squared plus b +# squared. +# For example, p = (3, 4, 5) is a Pythagorean triple because 25 = 9 + 16. +# +# Use the Function Design Recipe to define a function is_pythagorean_triple that returns +# whether a given 3-item tuple is a Pythagorean triple. You need to write: +# +# 1. A precondition (as a Python expression) expressing that the items in p are positive integers. +# 2. TWO different doctest examples. +# 3. A correct function body. + + +def is_pythagorean_triple(p: tuple[int, int, int]) -> bool: + """Return whether p is a Pythagorean triple. + + Preconditions: + - all(n > 0 for n in p) + + >>> is_pythagorean_triple((3, 4, 5)) + True + >>> is_pythagorean_triple((1, 1, 2)) + False + """ + a, b, c = p + return (c ** 2) == a ** 2 + b ** 2 + + +#################################################################################################### +# Part (b) +#################################################################################################### +# Here is another definition: +# +# Let L be a list where every item is a tuple of three positive integers that we will call (a,b,c). +# We say that L is a *Pythagorean list* when every item in the list is a Pythagorean triple. +# An empty list is NOT considered to be a Pythagorean triple. +# +# Use the Function Design Recipe to define a function is_pythagorean_list that returns +# whether a given list is a Pythagorean list. You need to write: +# +# 1. A precondition (as a Python expression) expressing that every item in list lst is a tuple that +# contains positive integers. +# 2. TWO different doctest examples. +# 3. A correct function body that uses a comprehension and any/all. +# You must call is_pythagorean_triple in this function, and you may NOT use loops. + + +def is_pythagorean_list(lst: list[tuple[int, int, int]]) -> bool: + """Return whether lst is a Pythagorean list. + + Preconditions: + - all(n > 0 for t in lst for n in t) + + >>> is_pythagorean_list([]) + False + >>> is_pythagorean_list([(3, 4, 5), (6, 8, 10)]) + True + """ + if len(lst) == 0: + return False + return all(is_pythagorean_triple(n) for n in lst) + + +#################################################################################################### +# Part (c) +#################################################################################################### +# Consider the following property: +# +# For all positive integers a, b, c and k, +# if p = (a, b, c) is a Pythagorean triple then (k*a, k*b, k*c) is also a Pythagorean triple. +# +# Complete the property-based test below to express this property. +# We have started it for you; you only need to fill in the body of the test. + + +@given(p=tuples(integers(min_value=1), integers(min_value=1), integers(min_value=1)), + k=integers(min_value=1)) +def test_multiplier_pyth_triple(p: tuple[int, int, int], k: int) -> None: + """Test the multiplier property of Pythagorean triples.""" + if is_pythagorean_triple(p): + a, b, c = p + assert is_pythagorean_triple((k * a, k * b, k * c)) + + +if __name__ == '__main__': + import python_ta.contracts + python_ta.contracts.DEBUG_CONTRACTS = False + python_ta.contracts.check_all_contracts() + + import doctest + doctest.testmod() + + # You can uncomment this to check your test in Part (c). + import pytest + pytest.main(['q1.py']) + + import python_ta + python_ta.check_all(config={ + 'disable': ['R1729', 'C0412'], + 'extra-imports': ['python_ta.contracts', 'hypothesis.strategies'], + 'max-line-length': 100 + }) diff --git a/TT1/q2/q2.pdf b/TT1/q2/q2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..204039ea90779682dffbcfb77d76967fa38994e0 GIT binary patch literal 97724 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
    (7(@~hE+=eSX_FGNEc*o2s#WNLw(Dy)h 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 R$ list[list]: + """Return a small dataset in a nested list format. + + Each nested list is composed of items with type: str, str, float, in that order. + - The first str is the title (i.e., name) of a book + - The second str is the name of the author + - the float is the average rating for the book + + INSTRUCTIONS: Do NOT change this function. + """ + return [ + ['Shogun', 'James Clavell', 4.39], + ['1984', 'George Orwell', 4.4], + ['Animal Farm', 'George Orwell', 3.96], + ['The Ex Hex', 'Erin Sterling', 3.76] + ] + + +def comma_separated_titles(data: list[list]) -> str: + """Return a string of the book titles in data in the order that they appear, where each title + ends with a comma and a space (i.e., ', '). + + Preconditions: + - data is in the format as specified in create_nested_list_data + + INSTRUCTIONS: Complete the body of this function. You must follow the docstring description + exactly. Do NOT add any more doctest examples. + + RESTRICTIONS: + - You must use a for loop + - You may not use any comprehensions + - You may not use any built-in functions/methods + + >>> example_data = create_nested_list_data() + >>> comma_separated_titles(example_data) + 'Shogun, 1984, Animal Farm, The Ex Hex, ' + """ + csv = "" + for entry in data: + csv += entry[0] + ', ' + return csv + + +def reset_ratings(data: list[list], author: str) -> None: + """Reset (i.e., MUTATE) the ratings of all books by author in data to 0.0. + + Preconditions: + - data is in the format as specified in create_nested_list_data + + INSTRUCTIONS: Complete the body of this function and add ONE doctest example that demonstrates + what the function does. + + RESTRICTIONS: + - You must use a for loop + - You may not use any comprehensions + - You may not use any built-in functions/methods + + >>> example_data = create_nested_list_data() + >>> reset_ratings(example_data, 'George Orwell') + >>> example_data[1][2] == 0.0 and example_data[2][2] == 0.0 + True + """ + for entry in data: + if entry[1] == author: + entry[2] = 0.0 + + +#################################################################################################### +# Part (b) +#################################################################################################### +def has_valid_ratings(data: list[list]) -> bool: + """Return whether every rating in data is a valid rating. + + A valid rating is a rating between 0.0 and 5.0, inclusive. + + Preconditions: + - data is in the format as specified in create_nested_list_data + - len(data) > 0 + + INSTRUCTIONS: Do NOT change this function. We know that it contains at least one bug. + """ + for book in data: + if 0.0 <= book[2] <= 5.0: + return False + + return True + + +def test_has_valid_ratings() -> None: + """Test has_valid_ratings (see instructions). + + INSTRUCTIONS: There is at least one bug in has_valid_ratings. Complete the body of this UNIT + TEST so that it demonstrates a bug. That is, this unit test should fail when run on + has_valid_ratings. + + RESTRICTIONS: + - You may not use hypothesis + - You may not violate the function's preconditions (including the type contract) + """ + data = create_nested_list_data() + assert has_valid_ratings(data) + + +def has_valid_ratings_bug() -> str: + """Return a BRIEF English description of the bug you found in has_valid_ratings. + + INSTRUCTIONS: Complete the body of this function so that it returns your description of the + bug in a single string. + + RESTRICTIONS: + - Your description must be less than 200 characters (i.e., + len(has_valid_ratings_bug()) < 200) + """ + return "The body should not return False when it found a valid rating (between 0 and 5), it should return false when it found an invalid rating instead." + + +#################################################################################################### +# Part (c) +#################################################################################################### +@dataclass +class Book: + """A data class that represents a book at Indigo. + + INSTRUCTIONS: Do NOT change this dataclass. + + Instance Attributes: + - title: the title (or name) of the book + - author: the name of the author of the book + - rating: the average rating of the book + + Representation Invariants: + - self.title != '' + - self.author != '' + - self.rating >= 0.0 + + >>> some_book = Book('1984', 'George Orwell', 4.4) + """ + title: str + author: str + rating: float + + +def create_dataclass_data() -> list[Book]: + """Return a small dataset in a list of dataclass format. + + INSTRUCTIONS: Do NOT change this function. + """ + return [ + Book('Shogun', 'James Clavell', 4.39), + Book('1984', 'George Orwell', 4.4), + Book('Animal Farm', 'George Orwell', 3.96), + Book('The Ex Hex', 'Erin Sterling', 3.76) + ] + + +def collect_ll_authors(data: list[Book]) -> set[str]: + """Return the set of all author names in data where the author name contains two adjacent + lowercase l's (i.e., 'll'). + + INSTRUCTIONS: Complete the body of this function and add ONE doctest example that demonstrates + what the function does. + + RESTRICTIONS: + - You must use a for loop + - You may not use any comprehensions + - You may not use any built-in functions/methods, EXCEPT FOR: set.add + + >>> example_data = create_dataclass_data() + >>> collect_ll_authors(example_data) == {'James Clavell', 'George Orwell'} + True + """ + ll_authors = set() + for entry in data: + if 'll' in entry.author: + ll_authors.add(entry.author) + return ll_authors + + +#################################################################################################### +# Part (d) +#################################################################################################### +def add_book_titles(titles: list[str], data: list[Book], author: str) -> None: + """Add (i.e., MUTATE) to titles, in the order that they appear, the names of the books from data + that are written by author. + + INSTRUCTIONS: Do NOT change this function. We know that it contains at least one bug. + """ + for book in data: + if book.author == author: + titles = titles + [book.title] + + +def test_add_book_titles() -> None: + """Test add_book_titles. + + INSTRUCTIONS: There is at least one bug in add_book_titles. Complete the body of this UNIT + TEST so that it demonstrates a bug. That is, this unit test should fail when run on + add_book_titles. + + RESTRICTIONS: + - You may not use hypothesis + - You may not violate the function's preconditions (including the type contract) + """ + titles: list[str] = [] + data = create_dataclass_data() + add_book_titles(titles, data, 'George Orwell') + assert titles == ['1984', 'Animal Farm'] + + +def add_book_titles_bug() -> str: + """Return a BRIEF English description of the bug you found in add_book_titles. + + INSTRUCTIONS: Complete the body of this function so that it returns your description of the + bug in a single string. + + RESTRICTIONS: + - Your description must be less than 200 characters (i.e., len(add_book_titles_bug()) < 200) + """ + return "The docstring said that it should mutate the titles list, but it did not mutate the list. It created a new list each time a matching author is found. It should use list.append instead."