{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## the famous [FizzBuzz](https://en.wikipedia.org/wiki/Fizz_buzz):\n", "\n", "- count from 1 to x\n", "- numbers divisible by 3 are Fizz\n", "- numbers divisible by 5 are Buzz\n", "- numbers divisible by 15 are FizzBuzz" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n", "Fizz\n", "4\n", "Buzz\n", "Fizz\n", "7\n", "8\n", "Fizz\n", "Buzz\n", "11\n", "Fizz\n", "13\n", "14\n", "FizzBuzz\n", "16\n", "17\n", "Fizz\n", "19\n", "Buzz\n", "Fizz\n", "22\n", "23\n", "Fizz\n", "Buzz\n", "26\n", "Fizz\n", "28\n", "29\n", "FizzBuzz\n", "31\n", "32\n", "Fizz\n", "34\n", "Buzz\n", "Fizz\n", "37\n", "38\n", "Fizz\n", "Buzz\n", "41\n", "Fizz\n", "43\n", "44\n", "FizzBuzz\n", "46\n", "47\n", "Fizz\n", "49\n", "Buzz\n", "Fizz\n", "52\n", "53\n", "Fizz\n", "Buzz\n", "56\n", "Fizz\n", "58\n", "59\n", "FizzBuzz\n", "61\n", "62\n", "Fizz\n", "64\n", "Buzz\n", "Fizz\n", "67\n", "68\n", "Fizz\n", "Buzz\n", "71\n", "Fizz\n", "73\n", "74\n", "FizzBuzz\n", "76\n", "77\n", "Fizz\n", "79\n", "Buzz\n", "Fizz\n", "82\n", "83\n", "Fizz\n", "Buzz\n", "86\n", "Fizz\n", "88\n", "89\n", "FizzBuzz\n", "91\n", "92\n", "Fizz\n", "94\n", "Buzz\n", "Fizz\n", "97\n", "98\n", "Fizz\n" ] } ], "source": [ "def fizzbuzz(n):\n", " \"\"\"prints 1 to n, replacing:\n", " Fizz for numbers divisible by 3\n", " Buzz for numbers divisible by 5\n", " FizzBuxzz for numbers divisible by 15\"\"\"\n", " \n", " for i in range(1,n):\n", " s = \"\"\n", " if i % 3 == 0:\n", " s += \"Fizz\"\n", " if i %5 == 0:\n", " s += \"Buzz\"\n", " \n", " print(s) if len(s) else print(i)\n", "\n", "fizzbuzz(100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Now to try a list comprehension" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1,\n", " 2,\n", " 'Fizz',\n", " 4,\n", " 'Buzz',\n", " 'Fizz',\n", " 7,\n", " 8,\n", " 'Fizz',\n", " 'Buzz',\n", " 11,\n", " 'Fizz',\n", " 13,\n", " 14,\n", " 'FizzBuzz',\n", " 16,\n", " 17,\n", " 'Fizz',\n", " 19,\n", " 'Buzz',\n", " 'Fizz',\n", " 22,\n", " 23,\n", " 'Fizz',\n", " 'Buzz',\n", " 26,\n", " 'Fizz',\n", " 28,\n", " 29,\n", " 'FizzBuzz',\n", " 31,\n", " 32,\n", " 'Fizz',\n", " 34,\n", " 'Buzz',\n", " 'Fizz',\n", " 37,\n", " 38,\n", " 'Fizz',\n", " 'Buzz',\n", " 41,\n", " 'Fizz',\n", " 43,\n", " 44,\n", " 'FizzBuzz',\n", " 46,\n", " 47,\n", " 'Fizz',\n", " 49,\n", " 'Buzz',\n", " 'Fizz',\n", " 52,\n", " 53,\n", " 'Fizz',\n", " 'Buzz',\n", " 56,\n", " 'Fizz',\n", " 58,\n", " 59,\n", " 'FizzBuzz',\n", " 61,\n", " 62,\n", " 'Fizz',\n", " 64,\n", " 'Buzz',\n", " 'Fizz',\n", " 67,\n", " 68,\n", " 'Fizz',\n", " 'Buzz',\n", " 71,\n", " 'Fizz',\n", " 73,\n", " 74,\n", " 'FizzBuzz',\n", " 76,\n", " 77,\n", " 'Fizz',\n", " 79,\n", " 'Buzz',\n", " 'Fizz',\n", " 82,\n", " 83,\n", " 'Fizz',\n", " 'Buzz',\n", " 86,\n", " 'Fizz',\n", " 88,\n", " 89,\n", " 'FizzBuzz',\n", " 91,\n", " 92,\n", " 'Fizz',\n", " 94,\n", " 'Buzz',\n", " 'Fizz',\n", " 97,\n", " 98,\n", " 'Fizz']" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[(not i%3)*\"Fizz\" + (not i%5)*\"Buzz\" or i for i in range(1,100)]" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }