{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Q&A, Part I\n", "\n", "CSCI 1360: Foundations for Informatics and Analytics" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Use a `for` loop to print the numbers 1 through 20, inclusive." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Make a list of numbers 1 through 1 million, and sum them all up." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Make a list of all the multiples of 3 from 3 to 100." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Use a list comprehension to generate the first 100 cubes (numbers raised to the third power)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Build a list of cubes in reverse order, starting from 100 and decreasing to 0." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Use slicing to print out the second half of a list." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Compute the average homework score for Alice. Compute the average test score for the class." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "lloyd = {\n", " \"name\": \"Lloyd\",\n", " \"homework\": [90.0,97.0,75.0,92.0],\n", " \"quizzes\": [88.0,40.0,94.0],\n", " \"tests\": [75.0,90.0]\n", "}\n", "alice = {\n", " \"name\": \"Alice\",\n", " \"homework\": [100.0, 92.0, 98.0, 100.0],\n", " \"quizzes\": [82.0, 83.0, 91.0],\n", " \"tests\": [89.0, 97.0]\n", "}\n", "tyler = {\n", " \"name\": \"Tyler\",\n", " \"homework\": [0.0, 87.0, 75.0, 22.0],\n", " \"quizzes\": [0.0, 75.0, 78.0],\n", " \"tests\": [100.0, 100.0]\n", "}\n", "\n", "students = [lloyd, alice, tyler]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "What is the output of this program?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "message = \"\"\n", "while message != 'quit':\n", " message = input(\"Type something: \")\n", " print(message)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Show how you can iterate over three lists simultaneously." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Show how you could combine the previous three lists into one long list and iterate over that instead." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "I have two six-sided dice. What are all the possible rolls I can make?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "If this class had a team project requirement, and the teams required three people, how many possible different three-person teams could there be?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "In my office, I have 25 books on one shelf. How many different ways are there of ordering the books from left to right?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Build a dictionary with keys as the root number and values as that number's square, using a dictionary comprehension." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Final list: [25, 35, 45]\n" ] } ], "source": [ "# Summing two lists\n", "\n", "# i = 0\n", "# output = []\n", "# while i < len(list1):\n", "# x = list1[i]\n", "# y = list2[i]\n", "# output.append(x + y)\n", "# i += 1\n", "\n", "# output = []\n", "# for i in range(len(list1)):\n", "# x = list1[i] + list2[i]\n", "# output.append(x)\n", "\n", "list1 = [5, 10, 15]\n", "list2 = [20, 25, 30]\n", "\n", "output = [ i + j for i, j in zip(list1, list2) ]\n", "\n", "print(\"Final list: {}\".format(output))\n", "# output = [25, 35, 45] # Hopefully!" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reversed: [10, 9, 8, 7, 6, 5]\n" ] } ], "source": [ "\n", "list_to_reverse = [5, 6, 7, 8, 9, 10]\n", "\n", "reverse = []\n", "# length = len(list_to_reverse) + 1\n", "# for n in range(1, length):\n", "# x = list_to_reverse[-n]\n", "# reverse.append(x)\n", "\n", "i = 1\n", "while i <= len(list_to_reverse):\n", " x = list_to_reverse[-i]\n", " reverse.append(x)\n", " i += 1\n", "\n", " \n", "print(\"Reversed: {}\".format(reverse))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "21\n" ] } ], "source": [ "prev_fibs1 = [1, 1, 2, 3, 5] # 8\n", "prev_fibs2 = [1, 1] # 2\n", "prev_fibs3 = [1, 1, 2, 3, 5, 8, 13] # 21\n", "\n", "x = prev_fibs3[-1]\n", "y = prev_fibs3[-2]\n", "n = x + y\n", "# print(n)\n", "\n", "i = -1\n", "n = 0\n", "while i >= -2:\n", " n += prev_fibs3[i]\n", " i -= 1\n", "print(n)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['curabitur', 'facilisis', 'eu', 'nibh', 'eu', 'efficitur.', 'fusce', 'venenatis', 'ligula', 'eu', 'gravida', 'efficitur.', 'vivamus', 'accumsan', 'mi', 'quis', 'magna', 'consequat,', 'eu', 'tempor', 'tellus', 'commodo.', 'integer', 'varius', 'massa', 'non', 'velit', 'sagittis,', 'vel', 'posuere', 'justo', 'mattis.', 'nunc', 'nec', 'scelerisque', 'risus,', 'nec', 'dapibus', 'quam.', 'etiam', 'non', 'convallis', 'arcu.', 'vestibulum', 'a', 'sapien', 'vel', 'risus', 'pretium', 'vestibulum', 'sit', 'amet', 'dignissim', 'est.', 'vivamus', 'in', 'tortor', 'eget', 'libero', 'volutpat', 'sollicitudin.', 'cras', 'nec', 'mauris', 'eu', 'nunc', 'congue', 'pharetra.', 'fusce', 'quis', 'leo', 'vitae', 'nulla', 'finibus', 'accumsan.', 'aliquam', 'tincidunt,', 'ipsum', 'id', 'mattis', 'scelerisque,', 'eros', 'augue', 'rutrum', 'neque,', 'non', 'eleifend', 'leo', 'purus', 'porta', 'nibh.', 'fusce', 'malesuada', 'auctor', 'urna', 'vitae', 'facilisis.', 'vivamus', 'accumsan', 'urna', 'ut', 'bibendum', 'dignissim.', 'in', 'fermentum,', 'felis', 'quis', 'malesuada', 'vulputate,', 'ligula', 'felis', 'consectetur', 'massa,', 'quis', 'pulvinar', 'eros', 'enim', 'ut', 'dolor.', 'phasellus', 'non', 'nunc', 'imperdiet', 'augue', 'placerat', 'pulvinar', 'eget', 'vitae', 'eros.', 'donec', 'nec', 'felis', 'ex.']\n", "{'in': 2, 'placerat': 1, 'risus': 1, 'mauris': 1, 'magna': 1, 'quis': 4, 'mi': 1, 'amet': 1, 'vel': 2, 'neque,': 1, 'eu': 5, 'ipsum': 1, 'dignissim': 1, 'vulputate,': 1, 'id': 1, 'tortor': 1, 'bibendum': 1, 'nibh.': 1, 'felis': 3, 'nulla': 1, 'volutpat': 1, 'est.': 1, 'sit': 1, 'nec': 4, 'gravida': 1, 'aliquam': 1, 'eros.': 1, 'malesuada': 2, 'non': 4, 'finibus': 1, 'pulvinar': 2, 'leo': 2, 'eget': 2, 'tincidunt,': 1, 'tellus': 1, 'auctor': 1, 'mattis.': 1, 'quam.': 1, 'dignissim.': 1, 'purus': 1, 'porta': 1, 'fusce': 3, 'augue': 2, 'pharetra.': 1, 'facilisis': 1, 'cras': 1, 'massa,': 1, 'rutrum': 1, 'urna': 2, 'imperdiet': 1, 'facilisis.': 1, 'venenatis': 1, 'etiam': 1, 'consequat,': 1, 'vitae': 3, 'massa': 1, 'eleifend': 1, 'ut': 2, 'scelerisque,': 1, 'ligula': 2, 'eros': 2, 'scelerisque': 1, 'velit': 1, 'phasellus': 1, 'sagittis,': 1, 'pretium': 1, 'sollicitudin.': 1, 'vivamus': 3, 'sapien': 1, 'enim': 1, 'justo': 1, 'donec': 1, 'nunc': 3, 'integer': 1, 'dolor.': 1, 'risus,': 1, 'dapibus': 1, 'fermentum,': 1, 'efficitur.': 2, 'tempor': 1, 'a': 1, 'arcu.': 1, 'accumsan': 2, 'consectetur': 1, 'nibh': 1, 'ex.': 1, 'varius': 1, 'congue': 1, 'accumsan.': 1, 'convallis': 1, 'curabitur': 1, 'commodo.': 1, 'posuere': 1, 'mattis': 1, 'libero': 1, 'vestibulum': 2}\n" ] } ], "source": [ "s = \"Curabitur facilisis eu nibh eu efficitur. Fusce venenatis ligula eu gravida efficitur. Vivamus accumsan mi quis magna consequat, eu tempor tellus commodo. Integer varius massa non velit sagittis, vel posuere justo mattis. Nunc nec scelerisque risus, nec dapibus quam. Etiam non convallis arcu. Vestibulum a sapien vel risus pretium vestibulum sit amet dignissim est. Vivamus in tortor eget libero volutpat sollicitudin. Cras nec mauris eu nunc congue pharetra. Fusce quis leo vitae nulla finibus accumsan. Aliquam tincidunt, ipsum id mattis scelerisque, eros augue rutrum neque, non eleifend leo purus porta nibh. Fusce malesuada auctor urna vitae facilisis. Vivamus accumsan urna ut bibendum dignissim. In fermentum, felis quis malesuada vulputate, ligula felis consectetur massa, quis pulvinar eros enim ut dolor. Phasellus non nunc imperdiet augue placerat pulvinar eget vitae eros. Donec nec felis ex.\"\n", "\n", "word_list = (s.lower()).split()\n", "len(word_list)\n", "\n", "word_set = set(word_list)\n", "# d = {word: 0 for word in word_set}\n", "### Above 1-liner is IDENTICAL to following 3 lines\n", "d = {}\n", "for word in word_set:\n", " d[word] = 0\n", "\n", "for word in word_list:\n", "# count = d.get(word, 0)\n", "# count += 1\n", "# d[word] = count\n", " d[word] += 1\n", "print(d)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }