{"id":117704,"date":"2026-05-12T18:10:28","date_gmt":"2026-05-12T12:40:28","guid":{"rendered":"https:\/\/www.mygreatlearning.com\/blog\/?page_id=117704"},"modified":"2026-05-12T17:57:37","modified_gmt":"2026-05-12T12:27:37","slug":"python-program-fibonacci-sequence-generator","status":"publish","type":"page","link":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/","title":{"rendered":"Python Program Fibonacci Sequence Generator"},"content":{"rendered":"\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/codemirror\/5.65.16\/codemirror.min.css\" \/>\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/codemirror\/5.65.16\/theme\/eclipse.min.css\" \/>\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n\n<style>\n    .py-fibgen-wrapper {\n        --py-bg-app: #f9fafb;\n        --py-bg-panel: #ffffff;\n        --py-border: #e5e7eb;\n        --py-text-primary: #1f2937;\n        --py-text-secondary: #6b7280;\n        --py-primary-blue: #2563eb;\n        --py-primary-hover: #1d4ed8;\n        --py-header-height: 50px;\n        --py-footer-height: 60px;\n\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n        background-color: var(--py-bg-app);\n        color: var(--py-text-primary);\n        width: 100%;\n        border: 1px solid var(--py-border);\n        box-sizing: border-box;\n        display: flex;\n        flex-direction: column;\n        min-height: 85vh;\n    }\n\n    .py-fibgen-wrapper * { box-sizing: border-box; }\n\n    .py-fibgen-top-nav {\n        display: flex; align-items: center; justify-content: space-between;\n        height: var(--py-header-height); padding: 0 20px;\n        background: var(--py-bg-panel); border-bottom: 1px solid var(--py-border); min-width: 100%;\n    }\n    .py-fibgen-nav-title { font-weight: 600; color: var(--py-text-secondary); font-size: 14px; }\n\n    .py-fibgen-ide-container {\n        display: flex; flex: 1; height: auto; min-width: 100%; background: white; overflow: hidden;\n    }\n\n    .py-fibgen-left-pane {\n        width: 45%; border-right: 1px solid var(--py-border);\n        background: var(--py-bg-panel); display: flex; flex-direction: column;\n    }\n\n    .py-fibgen-tabs-header {\n        height: var(--py-header-height); border-bottom: 1px solid var(--py-border);\n        display: flex; align-items: center; padding: 0 20px; gap: 25px;\n        font-size: 14px; font-weight: 500; color: var(--py-text-secondary);\n    }\n\n    .py-fibgen-tab-item { cursor: pointer; padding: 14px 0; border-bottom: 2px solid transparent; }\n    .py-fibgen-tab-item.active { color: var(--py-text-primary); border-bottom-color: var(--py-primary-blue); }\n    .py-fibgen-tab-item:hover { color: var(--py-text-primary); }\n\n    .py-fibgen-pane-content { flex: 1; overflow-y: auto; padding: 25px; display: none; }\n    .py-fibgen-pane-content.active { display: block; }\n\n    .py-fibgen-wrapper h1 { margin-top: 0; font-size: 22px; font-weight: 600; color: var(--py-text-primary); margin-bottom: 1rem; }\n    .py-fibgen-wrapper p { line-height: 1.6; color: #374151; margin-bottom: 1rem; }\n    .py-fibgen-wrapper ul { margin-bottom: 20px; color: #374151; line-height: 1.6; padding-left: 20px; }\n    .py-fibgen-wrapper li { margin-bottom: 5px; }\n    .py-fibgen-wrapper h3 { font-size: 16px; margin-top: 15px; margin-bottom: 10px; }\n\n    .py-fibgen-solution-block {\n        background: #f8f9fa; border: 1px solid var(--py-border); padding: 15px;\n        border-radius: 6px; font-family: 'Consolas', monospace; font-size: 14px;\n        color: #333; white-space: pre-wrap; overflow-x: auto;\n    }\n\n    .py-fibgen-sample-box { background-color: #f3f4f6; border: 1px solid var(--py-border); border-radius: 6px; margin-top: 20px; overflow: hidden; }\n    .py-fibgen-sample-header { display: flex; background-color: #e5e7eb; font-size: 13px; font-weight: 600; color: var(--py-text-primary); }\n    .py-fibgen-sample-col-title { width: 50%; padding: 8px 15px; border-right: 1px solid #d1d5db; }\n    .py-fibgen-sample-col-content { width: 50%; padding: 15px; font-family: 'Consolas', monospace; font-size: 14px; border-right: 1px solid var(--py-border); white-space: pre-wrap; color: #333; }\n    .py-fibgen-sample-body { display: flex; }\n\n    .py-fibgen-right-pane { width: 55%; display: flex; flex-direction: column; background: var(--py-bg-panel); }\n\n    .py-fibgen-editor-top-bar {\n        height: var(--py-header-height); border-bottom: 1px solid var(--py-border);\n        display: flex; align-items: center; justify-content: space-between;\n        padding: 0 15px; background-color: #f9fafb;\n    }\n\n    .py-fibgen-lang-label { font-weight: 600; font-size: 14px; background: #e5e7eb; padding: 4px 12px; border-radius: 4px; }\n    .py-fibgen-editor-settings i { color: var(--py-text-secondary); margin-left: 15px; cursor: pointer; font-size: 16px; }\n\n    .py-fibgen-code-area { flex: 1; display: flex; flex-direction: column; position: relative; }\n    .py-fibgen-code-area .CodeMirror { flex: 1; height: 100%; position: absolute; top: 0; bottom: 0; left: 0; right: 0; font-family: 'Source Code Pro', monospace; font-size: 15px; }\n\n    .py-fibgen-console-section {\n        border-top: 1px solid var(--py-border); background: #f9fafb;\n        display: flex; flex-direction: column; height: 35%;\n    }\n    .py-fibgen-console-header { padding: 8px 15px; background: #e5e7eb; font-size: 12px; font-weight: 600; color: var(--py-text-secondary); text-transform: uppercase; }\n    .py-fibgen-console-body { display: flex; flex: 1; overflow: hidden; }\n    .py-fibgen-input-wrapper, .py-fibgen-output-wrapper { flex: 1; display: flex; flex-direction: column; padding: 10px; border-right: 1px solid var(--py-border); }\n    .py-fibgen-output-wrapper { border-right: none; }\n    .py-fibgen-console-label { font-size: 12px; font-weight: 600; margin-bottom: 5px; color: var(--py-text-secondary); }\n\n    textarea.py-fibgen-custom-input-area { flex: 1; border: 1px solid var(--py-border); border-radius: 4px; resize: none; padding: 8px; font-family: monospace; width: 100%; }\n\n    .py-fibgen-output-display {\n        flex: 1; background: white; border: 1px solid var(--py-border);\n        border-radius: 4px; padding: 8px; font-family: monospace;\n        white-space: pre-wrap; overflow-y: auto; font-size: 13px; line-height: 1.15;\n    }\n\n    .py-fibgen-footer-actions {\n        height: var(--py-footer-height); border-top: 1px solid var(--py-border);\n        display: flex; align-items: center; justify-content: flex-end;\n        padding: 0 20px; background-color: var(--py-bg-panel);\n    }\n\n    .py-fibgen-execution-group { display: flex; gap: 12px; align-items: center; }\n\n    .py-fibgen-btn {\n        padding: 8px 20px; border-radius: 4px; font-size: 14px; font-weight: 600;\n        cursor: pointer; text-decoration: none; display: inline-flex; align-items: center;\n        justify-content: center; transition: 0.2s; height: 38px; box-shadow: none; border: none;\n    }\n\n    .py-fibgen-btn-secondary { background: transparent; border: 1px solid var(--py-border); color: var(--py-text-primary); }\n    .py-fibgen-btn-secondary:hover { background: #f3f4f6; }\n    .py-fibgen-btn-primary { background: var(--py-primary-blue); border: 1px solid var(--py-primary-blue); color: white; }\n    .py-fibgen-btn-primary:hover { background: var(--py-primary-hover); }\n\n    .py-fibgen-spinner {\n        display: none; width: 14px; height: 14px;\n        border: 2px solid #fff; border-top-color: transparent;\n        border-radius: 50%; animation: py-fibgen-spin 0.8s linear infinite; margin-left: 8px;\n    }\n    @keyframes py-fibgen-spin { 100% { transform: rotate(360deg); } }\n\n    .py-fibgen-hidden { display: none !important; }\n    .py-fibgen-btn-mobile { display: none !important; }\n\n    @media (max-width: 768px) {\n        .py-fibgen-wrapper { display: block; height: auto; min-height: auto; }\n        .py-fibgen-ide-container { flex: none; height: auto; }\n        .py-fibgen-top-nav { display: none; }\n        .py-fibgen-ide-container { flex-direction: column; overflow-y: auto; height: auto; }\n        .py-fibgen-left-pane, .py-fibgen-right-pane { width: 100%; height: auto; }\n        .py-fibgen-left-pane { border-right: none; border-bottom: 8px solid #f3f4f6; min-height: auto; max-height: 400px; }\n        .py-fibgen-right-pane { display: flex; flex-direction: column; }\n        .py-fibgen-console-section, .py-fibgen-console-body, .py-fibgen-footer-actions { display: contents; }\n        .py-fibgen-console-header { display: none; }\n        .py-fibgen-editor-top-bar { order: 1; }\n        .py-fibgen-code-area { order: 2; height: 500px; flex: none; }\n        .py-fibgen-code-area .CodeMirror { position: relative; height: 500px; }\n        .py-fibgen-input-wrapper { order: 3; width: 100%; height: auto; min-height: 280px; border-right: none; border-top: 8px solid #f3f4f6; border-bottom: 1px solid var(--py-border); }\n        .py-fibgen-execution-group { order: 4; width: 100%; display: flex; padding: 15px; gap: 10px; border-bottom: 1px solid var(--py-border); background: #fff; }\n        .py-fibgen-execution-group .py-fibgen-btn { flex: 1; }\n        .py-fibgen-output-wrapper { order: 5; width: 100%; height: auto; min-height: 300px; max-height: 500px; border-right: none; background: #fff; }\n        .py-fibgen-btn-mobile { display: inline-flex !important; order: 6; width: 48%; margin: 15px 1%; box-sizing: border-box; text-align: center; }\n        a.py-fibgen-hidden { display: none !important; }\n    }\n<\/style>\n\n<div class=\"py-fibgen-wrapper\">\n    <div class=\"py-fibgen-top-nav\">\n        <a id=\"py-fibgen-btn-prev-top\" class=\"py-fibgen-btn py-fibgen-btn-secondary py-fibgen-hidden\" href=\"#\">&larr; Previous<\/a>\n        <span class=\"py-fibgen-nav-title\">Module 11: Iterators &amp; Generators<\/span>\n        <a id=\"py-fibgen-btn-next-top\" class=\"py-fibgen-btn py-fibgen-btn-primary py-fibgen-hidden\" href=\"#\">Next &rarr;<\/a>\n    <\/div>\n\n    <div class=\"py-fibgen-ide-container\" id=\"py-fibgen-ideContainer\">\n\n        <div class=\"py-fibgen-left-pane\">\n            <div class=\"py-fibgen-tabs-header\">\n                <div class=\"py-fibgen-tab-item active\" onclick=\"pyFibGenSwitchTab('statement')\">Statement<\/div>\n                <div class=\"py-fibgen-tab-item\" onclick=\"pyFibGenSwitchTab('solution')\">Solution<\/div>\n            <\/div>\n\n            <div id=\"py-fibgen-tab-statement\" class=\"py-fibgen-pane-content active\">\n                <h1 id=\"python-exercise-11-2-fibonacci-generator\">Python Exercise 11.2: Fibonacci Generator<\/h1>\n                <p>The Fibonacci sequence is a classic programming challenge. In this exercise, you will write an <strong>infinite generator<\/strong> that yields Fibonacci numbers one at a time \u2014 and then use it to print the first 20 numbers in the sequence.<\/p>\n\n                <p>Your generator function <code>fibonacci()<\/code> should:<\/p>\n                <ul>\n                    <li>Require <strong>no parameters<\/strong>.<\/li>\n                    <li>Start the sequence with <code>0<\/code> and <code>1<\/code>.<\/li>\n                    <li>Use a <code>while True<\/code> loop to yield values indefinitely.<\/li>\n                    <li>After each yield, update the two tracking variables to advance the sequence: the new pair should be <code>(b, a + b)<\/code>.<\/li>\n                <\/ul>\n\n                <p>After defining the generator:<\/p>\n                <ul>\n                    <li>Create a generator object by calling <code>fibonacci()<\/code>.<\/li>\n                    <li>Use a <code>for<\/code> loop with <code>range(20)<\/code> to print the first 20 Fibonacci numbers, one per line, using <code>next()<\/code>.<\/li>\n                <\/ul>\n\n                <h3 id=\"sample-output-first-20-fibonacci-numbers\">Sample Output (first 20 Fibonacci numbers):<\/h3>\n                <div class=\"py-fibgen-sample-box\">\n                    <div class=\"py-fibgen-sample-header\">\n                        <div class=\"py-fibgen-sample-col-title\">Input<\/div>\n                        <div class=\"py-fibgen-sample-col-title\">Output<\/div>\n                    <\/div>\n                    <div class=\"py-fibgen-sample-body\">\n                        <div class=\"py-fibgen-sample-col-content\">(no input required)<\/div>\n                        <div class=\"py-fibgen-sample-col-content\">0\n1\n1\n2\n3\n5\n8\n13\n21\n34\n55\n89\n144\n233\n377\n610\n987\n1597\n2584\n4181<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"py-fibgen-tab-solution\" class=\"py-fibgen-pane-content\">\n                <h1 id=\"solution\">Solution<\/h1>\n                <p>The generator uses simultaneous assignment (<code>a, b = b, a + b<\/code>) to advance the sequence each iteration without needing a temporary variable.<\/p>\n                <div class=\"py-fibgen-solution-block\">def fibonacci():\n    a, b = 0, 1\n    while True:\n        yield a\n        a, b = b, a + b\n\ngen = fibonacci()\nfor _ in range(20):\n    print(next(gen))<\/div>\n\n                <p style=\"margin-top:20px\"><strong>Key Concepts:<\/strong><\/p>\n                <ul>\n                    <li>An <strong>infinite generator<\/strong> uses <code>while True<\/code> with <code>yield<\/code> \u2014 it never raises <code>StopIteration<\/code> on its own, so the caller must control how many values to consume.<\/li>\n                    <li><code>yield a<\/code> pauses execution and returns the current value; the generator resumes from exactly this point on the next <code>next()<\/code> call.<\/li>\n                    <li>Simultaneous assignment <code>a, b = b, a + b<\/code> evaluates the right side fully before assigning, so no temporary variable is needed.<\/li>\n                    <li><code>next(gen)<\/code> manually advances the generator and retrieves the next yielded value.<\/li>\n                    <li>Using <code>for _ in range(20)<\/code> is idiomatic when the loop variable itself is not needed inside the loop body.<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n\n        <div class=\"py-fibgen-right-pane\">\n            <div class=\"py-fibgen-editor-top-bar\">\n                <span class=\"py-fibgen-lang-label\">Python 3<\/span>\n                <div class=\"py-fibgen-editor-settings\">\n                    <i class=\"fas fa-expand\" id=\"py-fibgen-fullscreenBtn\" title=\"Toggle Fullscreen\"><\/i>\n                <\/div>\n            <\/div>\n\n            <div class=\"py-fibgen-code-area\">\n                <div id=\"py-fibgen-code-editor-div\"><\/div>\n            <\/div>\n\n            <div class=\"py-fibgen-console-section\">\n                <div class=\"py-fibgen-console-header\">Test Console<\/div>\n                <div class=\"py-fibgen-console-body\">\n                    <div class=\"py-fibgen-input-wrapper\">\n                        <label class=\"py-fibgen-console-label\">Custom Input (Stdin)<\/label>\n                        <textarea id=\"py-fibgen-custom-input\" class=\"py-fibgen-custom-input-area\" placeholder=\"No input required for this exercise\"><\/textarea>\n                    <\/div>\n                    <div class=\"py-fibgen-output-wrapper\">\n                        <label class=\"py-fibgen-console-label\">Output<\/label>\n                        <div id=\"py-fibgen-output-console\" class=\"py-fibgen-output-display\">Run code to see output...<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"py-fibgen-footer-actions\">\n                <a id=\"py-fibgen-btn-prev-mobile\" class=\"py-fibgen-btn py-fibgen-btn-secondary py-fibgen-hidden py-fibgen-btn-mobile\" href=\"#\">&larr; Previous<\/a>\n\n                <div class=\"py-fibgen-execution-group\">\n                    <button class=\"py-fibgen-btn py-fibgen-btn-secondary\" onclick=\"pyFibGenResetCode()\">Reset<\/button>\n                    <button class=\"py-fibgen-btn py-fibgen-btn-primary\" onclick=\"pyFibGenRunCode()\">\n                        <span id=\"py-fibgen-btn-text\">Run Code<\/span>\n                        <span class=\"py-fibgen-spinner\" id=\"py-fibgen-btn-spinner\"><\/span>\n                    <\/button>\n                <\/div>\n\n                <a id=\"py-fibgen-btn-next-mobile\" class=\"py-fibgen-btn py-fibgen-btn-primary py-fibgen-hidden py-fibgen-btn-mobile\" href=\"#\">Next &rarr;<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/codemirror\/5.65.16\/codemirror.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/codemirror\/5.65.16\/mode\/python\/python.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/codemirror\/5.65.16\/addon\/edit\/closebrackets.min.js\"><\/script>\n\n<script>\n    var pyFibGenEditor;\n    var pyFibGenStarterCode;\n\n    const pyFibGenPrevLink = \"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-custom-range-generator\";\n    const pyFibGenNextLink = \"\";\n\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        const prevBtnTop = document.getElementById('py-fibgen-btn-prev-top');\n        const nextBtnTop = document.getElementById('py-fibgen-btn-next-top');\n        const prevBtnMobile = document.getElementById('py-fibgen-btn-prev-mobile');\n        const nextBtnMobile = document.getElementById('py-fibgen-btn-next-mobile');\n\n        if (pyFibGenPrevLink && pyFibGenPrevLink.trim() !== \"\") {\n            prevBtnTop.href = pyFibGenPrevLink;\n            prevBtnMobile.href = pyFibGenPrevLink;\n            prevBtnTop.classList.remove('py-fibgen-hidden');\n            prevBtnMobile.classList.remove('py-fibgen-hidden');\n        }\n        if (pyFibGenNextLink && pyFibGenNextLink.trim() !== \"\") {\n            nextBtnTop.href = pyFibGenNextLink;\n            nextBtnMobile.href = pyFibGenNextLink;\n            nextBtnTop.classList.remove('py-fibgen-hidden');\n            nextBtnMobile.classList.remove('py-fibgen-hidden');\n        }\n    });\n\n    function pyFibGenSwitchTab(tabName) {\n        document.querySelectorAll('#py-fibgen-tab-statement, #py-fibgen-tab-solution').forEach(el => el.classList.remove('active'));\n        const headerTabs = document.querySelector('#py-fibgen-ideContainer .py-fibgen-tabs-header').children;\n        Array.from(headerTabs).forEach(el => el.classList.remove('active'));\n        document.getElementById('py-fibgen-tab-' + tabName).classList.add('active');\n        if (tabName === 'statement') headerTabs[0].classList.add('active');\n        if (tabName === 'solution') headerTabs[1].classList.add('active');\n    }\n\n    const pyFibGenFullscreenBtn = document.getElementById('py-fibgen-fullscreenBtn');\n    const pyFibGenIdeContainer = document.getElementById('py-fibgen-ideContainer');\n\n    if (pyFibGenFullscreenBtn) {\n        pyFibGenFullscreenBtn.addEventListener('click', () => {\n            if (!document.fullscreenElement) {\n                pyFibGenIdeContainer.requestFullscreen().catch(err => alert(`Error: ${err.message}`));\n                pyFibGenFullscreenBtn.classList.replace('fa-expand', 'fa-compress');\n            } else {\n                document.exitFullscreen();\n                pyFibGenFullscreenBtn.classList.replace('fa-compress', 'fa-expand');\n            }\n        });\n    }\n\n    pyFibGenStarterCode = `# Exercise 11.2: Fibonacci Generator\n# Write an infinite generator that yields Fibonacci numbers\n# and use it to print the first 20 values\n\n# Step 1: Define the fibonacci generator function\n# def fibonacci():\n\n    # Step 2: Initialise the first two values\n    # a, b = 0, 1\n\n    # Step 3: Use an infinite loop\n    # while True:\n\n        # Step 4: Yield the current value\n        # yield a\n\n        # Step 5: Advance the sequence using simultaneous assignment\n        # a, b = b, a + b\n\n\n# Step 6: Create a generator object\n# gen = fibonacci()\n\n# Step 7: Use a for loop with range(20) to print the first 20 numbers\n# for _ in range(20):\n#     print(next(gen))\n`;\n\n    pyFibGenEditor = CodeMirror(document.getElementById(\"py-fibgen-code-editor-div\"), {\n        value: pyFibGenStarterCode,\n        mode: \"python\",\n        theme: \"eclipse\",\n        lineNumbers: true,\n        indentUnit: 4,\n        autoCloseBrackets: true\n    });\n\n    function pyFibGenResetCode() {\n        pyFibGenEditor.setValue(pyFibGenStarterCode);\n        document.getElementById(\"py-fibgen-output-console\").innerText = \"Run code to see output...\";\n    }\n\n    function pyFibGenRunCode() {\n        const spinner = document.getElementById('py-fibgen-btn-spinner');\n        const btnText = document.getElementById('py-fibgen-btn-text');\n        const outputBox = document.getElementById('py-fibgen-output-console');\n\n        spinner.style.display = \"inline-block\";\n        btnText.innerText = \"Running \";\n        outputBox.innerText = \"Processing...\";\n        outputBox.style.color = \"#6b7280\";\n\n        const pythonCode = pyFibGenEditor.getValue();\n        const userInput = document.getElementById(\"py-fibgen-custom-input\").value;\n\n        fetch(\"https:\/\/blogsupport123-python-compiler.hf.space\/api\/run-python\", {\n            method: \"POST\",\n            headers: { \"Content-Type\": \"application\/json\" },\n            body: JSON.stringify({ code: pythonCode, input: userInput }),\n        })\n        .then(response => response.json())\n        .then(data => {\n            if (data.output) {\n                outputBox.innerText = data.output;\n                outputBox.style.color = \"#1f2937\";\n            } else if (data.error || data.errors) {\n                outputBox.innerText = data.error || data.errors;\n                outputBox.style.color = \"#ef4444\";\n            } else {\n                outputBox.innerText = \"No output returned.\";\n            }\n        })\n        .catch(err => {\n            outputBox.innerText = \"Error: \" + err.message;\n            outputBox.style.color = \"#ef4444\";\n        })\n        .finally(() => {\n            spinner.style.display = \"none\";\n            btnText.innerText = \"Run Code\";\n        });\n    }\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>&larr; Previous Module 11: Iterators &amp; Generators Next &rarr; Statement Solution Python Exercise 11.2: Fibonacci Generator The Fibonacci sequence is a classic programming challenge. In this exercise, you will write an infinite generator that yields Fibonacci numbers one at a time \u2014 and then use it to print the first 20 numbers in the sequence. [&hellip;]<\/p>\n","protected":false},"author":41,"featured_media":0,"parent":114145,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[25860],"tags":[36796,36895],"class_list":["post-117704","page","type-page","status-publish","hentry","category-software","tag-python","tag-python-exercise"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Python Program Fibonacci Sequence Generator - Great Learning Blog: Free Resources what Matters to shape your Career!<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Program Fibonacci Sequence Generator\" \/>\n<meta property=\"og:description\" content=\"&larr; Previous Module 11: Iterators &amp; Generators Next &rarr; Statement Solution Python Exercise 11.2: Fibonacci Generator The Fibonacci sequence is a classic programming challenge. In this exercise, you will write an infinite generator that yields Fibonacci numbers one at a time \u2014 and then use it to print the first 20 numbers in the sequence. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/\" \/>\n<meta property=\"og:site_name\" content=\"Great Learning Blog: Free Resources what Matters to shape your Career!\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/GreatLearningOfficial\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@Great_Learning\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/\"},\"author\":{\"name\":\"Great Learning Editorial Team\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/person\\\/6f993d1be4c584a335951e836f2656ad\"},\"headline\":\"Python Program Fibonacci Sequence Generator\",\"datePublished\":\"2026-05-12T12:40:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/\"},\"wordCount\":264,\"publisher\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\"},\"keywords\":[\"python\",\"python-exercise\"],\"articleSection\":[\"IT\\\/Software Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/\",\"name\":\"Python Program Fibonacci Sequence Generator - Great Learning Blog: Free Resources what Matters to shape your Career!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-05-12T12:40:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-fibonacci-sequence-generator\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python Exercises\",\"item\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Python Program Fibonacci Sequence Generator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\",\"name\":\"Great Learning Blog\",\"description\":\"Learn, Upskill &amp; Career Development Guide and Resources\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\"},\"alternateName\":\"Great Learning\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#organization\",\"name\":\"Great Learning\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/GL-Logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/GL-Logo.jpg\",\"width\":900,\"height\":900,\"caption\":\"Great Learning\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/GreatLearningOfficial\\\/\",\"https:\\\/\\\/x.com\\\/Great_Learning\",\"https:\\\/\\\/www.instagram.com\\\/greatlearningofficial\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/school\\\/great-learning\\\/\",\"https:\\\/\\\/in.pinterest.com\\\/greatlearning12\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/beaconelearning\\\/\"],\"description\":\"Great Learning is a leading global ed-tech company for professional training and higher education. It offers comprehensive, industry-relevant, hands-on learning programs across various business, technology, and interdisciplinary domains driving the digital economy. These programs are developed and offered in collaboration with the world's foremost academic institutions.\",\"email\":\"info@mygreatlearning.com\",\"legalName\":\"Great Learning Education Services Pvt. Ltd\",\"foundingDate\":\"2013-11-29\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1001\",\"maxValue\":\"5000\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/person\\\/6f993d1be4c584a335951e836f2656ad\",\"name\":\"Great Learning Editorial Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"contentUrl\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/02\\\/unnamed.webp\",\"caption\":\"Great Learning Editorial Team\"},\"description\":\"The Great Learning Editorial Staff includes a dynamic team of subject matter experts, instructors, and education professionals who combine their deep industry knowledge with innovative teaching methods. Their mission is to provide learners with the skills and insights needed to excel in their careers, whether through upskilling, reskilling, or transitioning into new fields.\",\"sameAs\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/\",\"https:\\\/\\\/in.linkedin.com\\\/school\\\/great-learning\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/Great_Learning\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCObs0kLIrDjX2LLSybqNaEA\"],\"award\":[\"Best EdTech Company of the Year 2024\",\"Education Economictimes Outstanding Education\\\/Edtech Solution Provider of the Year 2024\",\"Leading E-learning Platform 2024\"],\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/author\\\/greatlearning\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python Program Fibonacci Sequence Generator - Great Learning Blog: Free Resources what Matters to shape your Career!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/","og_locale":"en_US","og_type":"article","og_title":"Python Program Fibonacci Sequence Generator","og_description":"&larr; Previous Module 11: Iterators &amp; Generators Next &rarr; Statement Solution Python Exercise 11.2: Fibonacci Generator The Fibonacci sequence is a classic programming challenge. In this exercise, you will write an infinite generator that yields Fibonacci numbers one at a time \u2014 and then use it to print the first 20 numbers in the sequence. [&hellip;]","og_url":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/","og_site_name":"Great Learning Blog: Free Resources what Matters to shape your Career!","article_publisher":"https:\/\/www.facebook.com\/GreatLearningOfficial\/","twitter_card":"summary_large_image","twitter_site":"@Great_Learning","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/#article","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/"},"author":{"name":"Great Learning Editorial Team","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/person\/6f993d1be4c584a335951e836f2656ad"},"headline":"Python Program Fibonacci Sequence Generator","datePublished":"2026-05-12T12:40:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/"},"wordCount":264,"publisher":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization"},"keywords":["python","python-exercise"],"articleSection":["IT\/Software Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/","url":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/","name":"Python Program Fibonacci Sequence Generator - Great Learning Blog: Free Resources what Matters to shape your Career!","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#website"},"datePublished":"2026-05-12T12:40:28+00:00","breadcrumb":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-fibonacci-sequence-generator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.mygreatlearning.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python Exercises","item":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/"},{"@type":"ListItem","position":3,"name":"Python Program Fibonacci Sequence Generator"}]},{"@type":"WebSite","@id":"https:\/\/www.mygreatlearning.com\/blog\/#website","url":"https:\/\/www.mygreatlearning.com\/blog\/","name":"Great Learning Blog","description":"Learn, Upskill &amp; Career Development Guide and Resources","publisher":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization"},"alternateName":"Great Learning","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mygreatlearning.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.mygreatlearning.com\/blog\/#organization","name":"Great Learning","url":"https:\/\/www.mygreatlearning.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/06\/GL-Logo.jpg","contentUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/06\/GL-Logo.jpg","width":900,"height":900,"caption":"Great Learning"},"image":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/GreatLearningOfficial\/","https:\/\/x.com\/Great_Learning","https:\/\/www.instagram.com\/greatlearningofficial\/","https:\/\/www.linkedin.com\/school\/great-learning\/","https:\/\/in.pinterest.com\/greatlearning12\/","https:\/\/www.youtube.com\/user\/beaconelearning\/"],"description":"Great Learning is a leading global ed-tech company for professional training and higher education. It offers comprehensive, industry-relevant, hands-on learning programs across various business, technology, and interdisciplinary domains driving the digital economy. These programs are developed and offered in collaboration with the world's foremost academic institutions.","email":"info@mygreatlearning.com","legalName":"Great Learning Education Services Pvt. Ltd","foundingDate":"2013-11-29","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1001","maxValue":"5000"}},{"@type":"Person","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/person\/6f993d1be4c584a335951e836f2656ad","name":"Great Learning Editorial Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","url":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","contentUrl":"https:\/\/www.mygreatlearning.com\/blog\/wp-content\/uploads\/2022\/02\/unnamed.webp","caption":"Great Learning Editorial Team"},"description":"The Great Learning Editorial Staff includes a dynamic team of subject matter experts, instructors, and education professionals who combine their deep industry knowledge with innovative teaching methods. Their mission is to provide learners with the skills and insights needed to excel in their careers, whether through upskilling, reskilling, or transitioning into new fields.","sameAs":["https:\/\/www.mygreatlearning.com\/","https:\/\/in.linkedin.com\/school\/great-learning\/","https:\/\/x.com\/https:\/\/twitter.com\/Great_Learning","https:\/\/www.youtube.com\/channel\/UCObs0kLIrDjX2LLSybqNaEA"],"award":["Best EdTech Company of the Year 2024","Education Economictimes Outstanding Education\/Edtech Solution Provider of the Year 2024","Leading E-learning Platform 2024"],"url":"https:\/\/www.mygreatlearning.com\/blog\/author\/greatlearning\/"}]}},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"web-stories-poster-portrait":false,"web-stories-publisher-logo":false,"web-stories-thumbnail":false},"uagb_author_info":{"display_name":"Great Learning Editorial Team","author_link":"https:\/\/www.mygreatlearning.com\/blog\/author\/greatlearning\/"},"uagb_comment_info":0,"uagb_excerpt":"&larr; Previous Module 11: Iterators &amp; Generators Next &rarr; Statement Solution Python Exercise 11.2: Fibonacci Generator The Fibonacci sequence is a classic programming challenge. In this exercise, you will write an infinite generator that yields Fibonacci numbers one at a time \u2014 and then use it to print the first 20 numbers in the sequence.&hellip;","_links":{"self":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/comments?post=117704"}],"version-history":[{"count":1,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117704\/revisions"}],"predecessor-version":[{"id":117711,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117704\/revisions\/117711"}],"up":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/114145"}],"wp:attachment":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/media?parent=117704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/categories?post=117704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/tags?post=117704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}