Code Developed in CSCI-1100 ******************************** Lecture 1 ============== **Module:** :mod:`lec1_three_doubles` --- Finds three consecutive pairs of double letters ------------------------------------------------------------------------------------------ .. automodule:: lec1_three_doubles **Code**: .. literalinclude:: ../code/lec1_three_doubles.py Lecture 3 =========== **Module:** :mod:`lec3_function_example` --- Example functions from geometry ------------------------------------------------------------------------------------------ .. automodule:: lec3_function_example **Code**: .. literalinclude:: ../code/lec3_function_example.py Lecture 5 ========= **Module:** :mod:`lec5_stringformatting` --- Example of string formatting ------------------------------------------------------------------------------------------ .. automodule:: lec5_stringformatting **Code**: .. literalinclude:: ../code/lec5_stringformatting.py Lecture 7 ========= **Module:** :mod:`lec7_middle_value` --- Finds the middle value in a list ------------------------------------------------------------------------- .. automodule:: lec7_middle_value **Code**: .. literalinclude:: ../code/lec7_middle_value.py Lecture 8 ========== **Module:** :mod:`lec8_multireturn` --- Tuple example, function returning multiple values ------------------------------------------------------------------------------------------ .. automodule:: lec8_multireturn **Code**: .. literalinclude:: ../code/lec8_multireturn.py Lecture 9 ========= **Module:** :mod:`lec9_circle_overlap` --- Checks for overlapping circles and valid input ------------------------------------------------------------------------------------------ .. automodule:: lec9_circle_overlap **Code**: .. literalinclude:: ../code/lec9_circle_overlap.py **Module:** :mod:`lec9_compare_three` --- Orders three values in sorted order ------------------------------------------------------------------------------------------ .. automodule:: lec9_compare_three **Code**: .. literalinclude:: ../code/lec9_compare_three.py **Module:** :mod:`lec9_overlap` --- Checks for overlapping rectangles and ordering of semesters ----------------------------------------------------------------------------------------------- .. automodule:: lec9_overlap **Code**: .. literalinclude:: ../code/lec9_overlap.py **Module:** :mod:`lec9_shortcut_example` --- Example for shorcutting boolean expressions ------------------------------------------------------------------------------------------ .. automodule:: lec9_shortcut_example **Code**: .. literalinclude:: ../code/lec9_shortcut_example.py Lecture 10 =========== **Module:** :mod:`lec10_compare_listitems_sidebyside` --- Printing items in a list ------------------------------------------------------------------------------------ .. automodule:: lec10_compare_listitems_sidebyside **Code**: .. literalinclude:: ../code/lec10_compare_listitems_sidebyside.py **Module:** :mod:`lec10_loopthroughlist` --- Example for accessing items in a list ----------------------------------------------------------------------------------- .. automodule:: lec10_loopthroughlist **Code**: .. literalinclude:: ../code/lec10_loopthroughlist.py **Module:** :mod:`lec10_count_down` --- Acessing items in a list backwards --------------------------------------------------------------------------- .. automodule:: lec10_count_down **Code**: .. literalinclude:: ../code/lec10_count_down.py **Module:** :mod:`lec10_convert_to_list` --- Converting a list of strings to list of ints ------------------------------------------------------------------------------------------ .. automodule:: lec10_convert_to_list **Code**: .. literalinclude:: ../code/lec10_convert_to_list.py **Module:** :mod:`lec10_xmas_tree` --- Print small Christmas tree ------------------------------------------------------------------ .. automodule:: lec10_xmas_tree **Code**: .. literalinclude:: ../code/lec10_xmas_tree.py Lecture 11 =========== **Module:** :mod:`lec11_list_aliasing_functions` --- Lists as function arguments ------------------------------------------------------------------------------------ .. automodule:: lec11_list_aliasing_functions **Code**: .. literalinclude:: ../code/lec11_list_aliasing_functions.py **Module:** :mod:`lec11_loop_example` --- Different ways to loop through lists ------------------------------------------------------------------------------------ .. automodule:: lec11_loop_example **Code**: .. literalinclude:: ../code/lec11_loop_example.py **Module:** :mod:`lec11_loop_listoftuples` --- Looping through lists of tuples with for loop -------------------------------------------------------------------------------------------- .. automodule:: lec11_loop_listoftuples **Code**: .. literalinclude:: ../code/lec11_loop_listoftuples.py **Module:** :mod:`lec11_loop_listoflists` --- Looping through lists of lists with for loop -------------------------------------------------------------------------------------------- .. automodule:: lec11_loop_listoflists **Code**: .. literalinclude:: ../code/lec11_loop_listoflists.py Lecture 12 =========== **Module:** :mod:`lec12_loop_comparison` --- While versus for loops ------------------------------------------------------------------- .. automodule:: lec12_loop_comparison **Code**: .. literalinclude:: ../code/lec12_loop_comparison.py **Module:** :mod:`lec12_double_consecutive` --- Words with two consecutive double letters ----------------------------------------------------------------------------------------- .. automodule:: lec12_double_consecutive **Code**: .. literalinclude:: ../code/lec12_double_consecutive.py **Module:** :mod:`lec12_local_maxima` --- Lists as function arguments ------------------------------------------------------------------------------------ .. automodule:: lec12_local_maxima **Code**: .. literalinclude:: ../code/lec12_local_maxima.py **Module:** :mod:`lec12_closest_two` --- Closest two values in a list --------------------------------------------------------------------- .. automodule:: lec12_closest_two **Code**: .. literalinclude:: ../code/lec12_closest_two.py **Module:** :mod:`lec12_image_doubleloop` --- Image flip example with double loop --------------------------------------------------------------------------------- .. automodule:: lec12_image_doubleloop **Code**: .. literalinclude:: ../code/lec12_image_doubleloop.py **Module:** :mod:`lec12_control_loop1` --- Loop control with break --------------------------------------------------------------------------------- .. automodule:: lec12_control_loop1 **Code**: .. literalinclude:: ../code/lec12_control_loop1.py **Module:** :mod:`lec12_control_loop2` --- Break with double loop --------------------------------------------------------------------------------- .. automodule:: lec12_control_loop2 **Code**: .. literalinclude:: ../code/lec12_control_loop2.py **Module:** :mod:`lec12_control_loop3` --- Break and continue in loops --------------------------------------------------------------------------------- .. automodule:: lec12_control_loop3 **Code**: .. literalinclude:: ../code/lec12_control_loop3.py Lecture 13 =========== **Module:** :mod:`lec13_filewrite` --- File write example --------------------------------------------------------------------------------- .. automodule:: lec13_filewrite **Code**: .. literalinclude:: ../code/lec13_filewrite.py **Module:** :mod:`lec13_parsing1` --- File parsing: a regular file --------------------------------------------------------------------------------- .. automodule:: lec13_parsing1 **Code**: .. literalinclude:: ../code/lec13_parsing1.py **Module:** :mod:`lec13_parsing2` --- File parsing with unknown number of fields per line ----------------------------------------------------------------------------------------- .. automodule:: lec13_parsing2 **Code**: .. literalinclude:: ../code/lec13_parsing2.py **Module:** :mod:`lec13_parsing3` --- File parsing to match a given condition --------------------------------------------------------------------------------- .. automodule:: lec13_parsing3 **Code**: .. literalinclude:: ../code/lec13_parsing3.py **Module:** :mod:`lec13_parsing4` --- File parsing with blocks of data --------------------------------------------------------------------------------- .. automodule:: lec13_parsing4 **Code**: .. literalinclude:: ../code/lec13_parsing4.py **Module:** :mod:`lec13_files_from_web` --- Reading files from Web ------------------------------------------------------------------ .. automodule:: lec13_files_from_web **Function**: .. autofunction:: is_palindrome **Code**: .. literalinclude:: ../code/lec13_files_from_web.py Lecture 14 =========== **Module:** :mod:`lec14_list_version` --- List solution for finding unique actors --------------------------------------------------------------------------------- .. automodule:: lec14_list_version **Code**: .. literalinclude:: ../code/lec14_list_version.py **Module:** :mod:`lec14_set_version` --- Set solution for finding unique actors --------------------------------------------------------------------------------- .. automodule:: lec14_set_version **Code**: .. literalinclude:: ../code/lec14_set_version.py **Module:** :mod:`lec14_list_to_set_version` --- Lower complexity list and set solution ----------------------------------------------------------------------------------------- .. automodule:: lec14_list_to_set_version **Code**: .. literalinclude:: ../code/lec14_list_to_set_version.py **Module:** :mod:`lec14_common_movies` --- Movies actors have in common ----------------------------------------------------------------------- .. automodule:: lec14_common_movies **Code**: .. literalinclude:: ../code/lec14_common_movies.py Lecture 15 =========== **Module:** :mod:`lec15_sudokusolver` --- Automatic Sudoku solver --------------------------------------------------------------------------------- .. automodule:: lec15_sudokusolver **Code**: .. literalinclude:: ../code/lec15_sudokusolver.py **Module:** :mod:`lec15_nummovies_listsolution1` --- List solution 1: number of movies for each actor ----------------------------------------------------------------------------------------------------- .. automodule:: lec15_nummovies_listsolution1 **Code**: .. literalinclude:: ../code/lec15_nummovies_listsolution1.py **Module:** :mod:`lec15_nummovies_listsolution2` --- List solution 2: number of movies for each actor ---------------------------------------------------------------------------------------------------------- .. automodule:: lec15_nummovies_listsolution2 **Code**: .. literalinclude:: ../code/lec15_nummovies_listsolution2.py **Module:** :mod:`lec15_dictionary_example` --- Example of dictionary methods --------------------------------------------------------------------------------- .. automodule:: lec15_dictionary_example **Code**: .. literalinclude:: ../code/lec15_dictionary_example.py **Module:** :mod:`lec15_nummovies_dictionary_solution` --- Dictionary solution: number of movies for each actor --------------------------------------------------------------------------------------------------------------- .. automodule:: lec15_nummovies_dictionary_solution **Code**: .. literalinclude:: ../code/lec15_nummovies_dictionary_solution.py **Module:** :mod:`lec15_setofmovies_dictionary` --- Dictionary solution: storing set of movies for each actor -------------------------------------------------------------------------------------------------------------- .. automodule:: lec15_setofmovies_dictionary **Code**: .. literalinclude:: ../code/lec15_setofmovies_dictionary.py Lecture 16-17 ============== **Class:** :class:`Point2d` --- Illustrates use of classes for 2d points ------------------------------------------------------------------------ .. automodule:: Point2d **Methods:** .. automethod:: Point2d.__init__ .. automethod:: Point2d.__str__ .. automethod:: Point2d.scale .. automethod:: Point2d.magnitude .. automethod:: Point2d.distance .. automethod:: Point2d.grid_distance .. automethod:: Point2d.copy .. automethod:: Point2d.__add__ .. automethod:: Point2d.__sub__ .. automethod:: Point2d.__eq__ .. automethod:: Point2d.move **Code**: .. literalinclude:: ../code/Point2d.py **Class:** :class:`Time` --- Illustrates use of classes for storing Time ------------------------------------------------------------------------ .. automodule:: Time **Methods:** .. automethod:: Time.__init__ .. automethod:: Time.__str__ **Code**: .. literalinclude:: ../code/Time.py **Class:** :class:`Address` --- Simple class for storing address info ------------------------------------------------------------------------ .. automodule:: Address **Methods:** .. automethod:: Address.__init__ .. automethod:: Address.__str__ **Code**: .. literalinclude:: ../code/Address.py **Class:** :class:`Restaurant` --- Class for storing restaurant info ------------------------------------------------------------------------ .. automodule:: Restaurant **Methods:** .. automethod:: Restaurant.__init__ .. automethod:: Restaurant.__str__ .. automethod:: Restaurant.average_rating .. automethod:: Restaurant.max_rating .. automethod:: Restaurant.min_rating **Code**: .. literalinclude:: ../code/Restaurant.py **Module:** :mod:`lat_long_to_dist` --- Module for computing distance ------------------------------------------------------------------------------ .. automodule:: lat_long_to_dist **Code**: .. literalinclude:: ../code/lat_long_to_dist.py **Module:** :mod:`lec17_search_restaurants` --- Search for restaurants using the Restaurant class --------------------------------------------------------------------------------------------------- .. automodule:: lec17_search_restaurants **Code**: .. literalinclude:: ../code/lec17_search_restaurants.py Lecture 18 ============== **Module:** :mod:`lec18_convert_dictionary` --- Converting key/value for a dictionary --------------------------------------------------------------------------------------------------- .. automodule:: lec18_convert_dictionary **Code**: .. literalinclude:: ../code/lec18_convert_dictionary.py **Module:** :mod:`lec18_dictionary_delete` --- Dictionary delete example --------------------------------------------------------------------------------------------------- .. automodule:: lec18_dictionary_delete **Code**: .. literalinclude:: ../code/lec18_dictionary_delete.py **Module:** :mod:`lec18_actor_last_names` --- Find the first name of all actors with the same last name -------------------------------------------------------------------------------------------------------- .. automodule:: lec18_actor_last_names **Code**: .. literalinclude:: ../code/lec18_actor_last_names.py **Module:** :mod:`lec18_movieyears_names` --- Finding years with max number of movies --------------------------------------------------------------------------------------------------- .. automodule:: lec18_movieyears_names **Code**: .. literalinclude:: ../code/lec18_movieyears_names.py **Module:** :mod:`lec18_bacon_degree` --- Find actors with Bacon degree 1 --------------------------------------------------------------------------------------------------- .. automodule:: lec18_bacon_degree **Code**: .. literalinclude:: ../code/lec18_bacon_degree.py **Module:** :mod:`lec18_common_movies` --- Find max number of common movies between pair of actors --------------------------------------------------------------------------------------------------- .. automodule:: lec18_common_movies **Code**: .. literalinclude:: ../code/lec18_common_movies.py Lecture 19 ============== **Module:** :mod:`lec19_search_smallesttwo` --- Find smallest two values in a list --------------------------------------------------------------------------------------------------- .. automodule:: lec19_search_smallesttwo **Code**: .. literalinclude:: ../code/lec19_search_smallesttwo.py **Module:** :mod:`test_19_search_smallesttwo` --- Test module for lec19_search_smallesttwo --------------------------------------------------------------------------------------------------- .. automodule:: test_19_search_smallesttwo **Code**: .. literalinclude:: ../code/test_19_search_smallesttwo.py **Module:** :mod:`lec19_indexof_smallesttwo` --- Find the index of the smallest two values in a list ------------------------------------------------------------------------------------------------------ .. automodule:: lec19_indexof_smallesttwo **Code**: .. literalinclude:: ../code/lec19_indexof_smallesttwo.py **Module:** :mod:`test19_indexof_smallesttwo` --- Test module for lec19_indexof_smallesttwo --------------------------------------------------------------------------------------------------- .. automodule:: test_19_indexof_smallesttwo **Code**: .. literalinclude:: ../code/test_19_indexof_smallesttwo.py Lecture 20 ============== **Module:** :mod:`sort_sol` --- Sort a list of values --------------------------------------------------------------------------------------------------- .. automodule:: sort_sol **Code**: .. literalinclude:: ../code/sort_sol.py **Module:** :mod:`test_sort` --- Test module for sort functions --------------------------------------------------------------------------------------------------- .. automodule:: test_sort **Code**: .. literalinclude:: ../code/test_sort.py Lecture 21 ============== **Module:** :mod:`lec21_recursion` --- Example recursive functions --------------------------------------------------------------------------------------------------- .. automodule:: lec21_recursion **Code**: .. literalinclude:: ../code/lec21_recursion.py **Module:** :mod:`lec21_sierpinski` --- Sierpinski recursive fractal drawing --------------------------------------------------------------------------------------------------- .. automodule:: lec21_sierpinski **Code**: .. literalinclude:: ../code/lec21_sierpinski.py Lecture 22 ============== **Module:** :mod:`lec22_modes` --- Finding modes of a list ---------------------------------------------------------- .. automodule:: lec22_modes **Code**: .. literalinclude:: ../code/lec22_modes.py