{ "cells": [ { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ctg\n", "taa\n", "ctt\n", "tgg\n", "ctc\n" ] } ], "source": [ "dna = 'ctgtaacttagttggctctttcgtagcccattgtcgggctagctatttcactcccgcgggggtctccgcgtggatggt'\n", "codon1 = dna[0:3]\n", "codon2 = dna[3:6]\n", "codon3 = dna[6:9]\n", "codon4 = dna[12:15]\n", "codon5 = dna[15:18]\n", "print(codon1)\n", "print(codon2)\n", "print(codon3)\n", "print(codon4)\n", "print(codon5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Complete the code below*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "codon_list = []\n", "for i in range(0,___,3):\n", " codon = dna[i:i+3]\n", " codon_list.______(codon)\n", "for codon in codon_list:\n", " print(codon)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ctg\n", "taa\n", "ctt\n", "agt\n", "tgg\n", "ctc\n", "ttt\n", "cgt\n", "agc\n", "cca\n", "ttg\n", "tcg\n", "ggc\n", "tag\n", "cta\n", "ttt\n", "cac\n", "tcc\n", "cgc\n", "ggg\n", "ggt\n", "ctc\n", "cgc\n", "gtg\n", "gat\n", "ggt\n" ] } ], "source": [ "codon_list = []\n", "for i in range(0,len(dna),3):\n", " codon = dna[i:i+3]\n", " codon_list.append(codon)\n", "for codon in codon_list:\n", " print(codon)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Describe what the code does, in English*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The module operator - `%` - also known as the remainder operator, shows what is left over from an integer division.\n", "\n", "E.g. 5 `%` 2 is 1, 4 % 2 is 0, etc. It is useful for choosing elements from a list of numbers." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "5 % 2" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "4 % 2" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "10 % 3" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Integer division\n", "5 // 2" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "0 % 3" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "1 % 3" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "2 % 3" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "3 % 3 " ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "2\n", "4\n", "6\n", "8\n" ] } ], "source": [ "for i in range(10):\n", " if i % 2 == 0:\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "3\n", "5\n", "7\n", "9\n" ] } ], "source": [ "for i in range(10):\n", " if i % 2 != 0:\n", " print(i)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "7\n", "14\n", "21\n", "28\n", "35\n", "42\n", "49\n", "56\n", "63\n", "70\n", "77\n", "84\n", "91\n", "98\n" ] } ], "source": [ "# print the numbers from 1 to 100\n", "for num in range(1, 101):\n", " if num % 7 == 0:\n", " print(num)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "35\n", "70\n" ] } ], "source": [ "# print the numbers from 1 to 100\n", "for num in range(1, 101):\n", " if num % 7 == 0 and num % 5 == 0:\n", " print(num)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### FizzBuzz\n", "For the numbers from 1 to 100,\n", "1. If the number is divisible by 3 (and not 5), print `Fizz`\n", "2. If the number is divisible by 5 (and not 3), print `Buzz`\n", "3. If the number is divisible by both 5 and 7, print `FizzBuzz`" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fizz 3\n", "Buzz 5\n", "Fizz 6\n", "Fizz 9\n", "Buzz 10\n", "Fizz 12\n", "Fizz 18\n", "Buzz 20\n", "Fizz 21\n", "Fizz 24\n", "Buzz 25\n", "Fizz 27\n", "Fizz 33\n", "FizzBuzz 35\n", "Fizz 36\n", "Fizz 39\n", "Buzz 40\n", "Fizz 42\n", "Fizz 48\n", "Buzz 50\n", "Fizz 51\n", "Fizz 54\n", "Buzz 55\n", "Fizz 57\n", "Fizz 63\n", "Buzz 65\n", "Fizz 66\n", "Fizz 69\n", "FizzBuzz 70\n", "Fizz 72\n", "Fizz 78\n", "Buzz 80\n", "Fizz 81\n", "Fizz 84\n", "Buzz 85\n", "Fizz 87\n", "Fizz 93\n", "Buzz 95\n", "Fizz 96\n", "Fizz 99\n", "Buzz 100\n" ] } ], "source": [ "for i in range(1, 101):\n", " if i % 5 == 0 and i % 7 == 0:\n", " print('FizzBuzz', i)\n", " elif i % 3 == 0 and i % 5 != 0:\n", " print('Fizz', i)\n", " elif i % 5 == 0 and i % 3 != 0:\n", " print('Buzz', i)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "FizzBuzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "FizzBuzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n", "Fizz\n", "Fizz\n", "Buzz\n" ] } ], "source": [ "for num in range(1, 101):\n", " if num % 35 == 0:\n", " print('FizzBuzz')\n", " elif num % 3 == 0 and num % 5 != 0:\n", " print('Fizz')\n", " elif num % 3 != 0 and num % 5 == 0:\n", " print('Buzz')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### FizzBuzz2\n", "\n", "For the numbers from 1 to 100,\n", "1. If the number is divisible by 3 (and not 5), print `Fizz`\n", "2. If the number is divisible by 5 (and not 3), print `Buzz`\n", "3. If the number is divisible by both 5 and 3, print `FizzBuzz`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "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.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }