{"id":117551,"date":"2026-05-07T12:02:33","date_gmt":"2026-05-07T06:32:33","guid":{"rendered":"https:\/\/www.mygreatlearning.com\/blog\/?page_id=117551"},"modified":"2026-05-07T11:53:08","modified_gmt":"2026-05-07T06:23:08","slug":"python-program-to-count-the-character","status":"publish","type":"page","link":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/","title":{"rendered":"Python Program to Count the Character"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>Exercise 5.1<\/title>\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    \/* Wrapper to protect styles *\/\n    .py-receipt-wrapper {\n        \/* Local CSS Variables *\/\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    }\n\n    .py-receipt-wrapper * { box-sizing: border-box; }\n\n    \/* --- NEW TOP NAV (DESKTOP) --- *\/\n    .py-receipt-top-nav {\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        height: var(--py-header-height);\n        padding: 0 20px;\n        background: var(--py-bg-panel);\n        border-bottom: 1px solid var(--py-border);\nmin-width: 100%;\n    }\n    .py-receipt-nav-title {\n        font-weight: 600;\n        color: var(--py-text-secondary);\n        font-size: 14px;\n    }\n\n    \/* --- LAYOUT --- *\/\n    .py-receipt-ide-container {\n        display: flex; \n        height: 100%; \n        min-width: 100%;\n        background: white;\n        overflow: hidden; \n    }\n\n    \/* --- LEFT PANE --- *\/\n    .py-receipt-left-pane {\n        width: 45%; \n        border-right: 1px solid var(--py-border);\n        background: var(--py-bg-panel); \n        display: flex; \n        flex-direction: column;\n    }\n\n    .py-receipt-tabs-header {\n        height: var(--py-header-height); \n        border-bottom: 1px solid var(--py-border);\n        display: flex; \n        align-items: center; \n        padding: 0 20px; \n        gap: 25px;\n        font-size: 14px; \n        font-weight: 500; \n        color: var(--py-text-secondary);\n    }\n    \n    .py-receipt-tab-item { cursor: pointer; padding: 14px 0; border-bottom: 2px solid transparent; }\n    .py-receipt-tab-item.active { color: var(--py-text-primary); border-bottom-color: var(--py-primary-blue); }\n    .py-receipt-tab-item:hover { color: var(--py-text-primary); }\n\n    .py-receipt-pane-content { flex: 1; overflow-y: auto; padding: 25px; display: none; }\n    .py-receipt-pane-content.active { display: block; }\n\n    \/* Scoped Typography *\/\n    .py-receipt-wrapper h1 { margin-top: 0; font-size: 22px; font-weight: 600; color: var(--py-text-primary); margin-bottom: 1rem; }\n    .py-receipt-wrapper p { line-height: 1.6; color: #374151; margin-bottom: 1rem; }\n    .py-receipt-wrapper ul { margin-bottom: 20px; color: #374151; line-height: 1.6; padding-left: 20px; }\n    .py-receipt-wrapper li { margin-bottom: 5px; }\n    .py-receipt-wrapper h3 { font-size: 16px; margin-top: 15px; margin-bottom: 10px; }\n\n    .py-receipt-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-receipt-sample-box { background-color: #f3f4f6; border: 1px solid var(--py-border); border-radius: 6px; margin-top: 20px; overflow: hidden; }\n    .py-receipt-sample-header { display: flex; background-color: #e5e7eb; font-size: 13px; font-weight: 600; color: var(--py-text-primary); }\n    .py-receipt-sample-col-title { width: 50%; padding: 8px 15px; border-right: 1px solid #d1d5db; }\n    .py-receipt-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-receipt-sample-body { display: flex; }\n\n    \/* --- RIGHT PANE --- *\/\n    .py-receipt-right-pane {\n        width: 55%; display: flex; flex-direction: column; background: var(--py-bg-panel);\n    }\n\n    .py-receipt-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-receipt-lang-label { font-weight: 600; font-size: 14px; background: #e5e7eb; padding: 4px 12px; border-radius: 4px; }\n    .py-receipt-editor-settings i { color: var(--py-text-secondary); margin-left: 15px; cursor: pointer; font-size: 16px; }\n\n    .py-receipt-code-area { flex: 1; display: flex; flex-direction: column; position: relative; }\n    \/* Force CodeMirror to fit flex container *\/\n    .py-receipt-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-receipt-console-section {\n        border-top: 1px solid var(--py-border); background: #f9fafb;\n        display: flex; flex-direction: column; height: 35%;\n    }\n    .py-receipt-console-header { padding: 8px 15px; background: #e5e7eb; font-size: 12px; font-weight: 600; color: var(--py-text-secondary); text-transform: uppercase; }\n    .py-receipt-console-body { display: flex; flex: 1; overflow: hidden; }\n    .py-receipt-input-wrapper, .py-receipt-output-wrapper { flex: 1; display: flex; flex-direction: column; padding: 10px; border-right: 1px solid var(--py-border); }\n    .py-receipt-output-wrapper { border-right: none; }\n    .py-receipt-console-label { font-size: 12px; font-weight: 600; margin-bottom: 5px; color: var(--py-text-secondary); }\n    \n    textarea.py-receipt-custom-input-area { flex: 1; border: 1px solid var(--py-border); border-radius: 4px; resize: none; padding: 8px; font-family: monospace; width: 100%; }\n    .py-receipt-output-display { flex: 1; background: white; border: 1px solid var(--py-border); border-radius: 4px; padding: 8px; font-family: monospace; white-space: pre-wrap; overflow-y: auto; font-size: 13px; }\n\n    \/* --- FOOTER ACTIONS (Desktop) --- *\/\n    .py-receipt-footer-actions {\n        height: var(--py-footer-height);\n        border-top: 1px solid var(--py-border);\n        display: flex;\n        align-items: center;\n        \/* Aligns Reset\/Run to the left naturally if siblings are hidden *\/\n        justify-content: flex-end; \n        padding: 0 20px;\n        background-color: var(--py-bg-panel);\n    }\n\n    .py-receipt-execution-group { display: flex; gap: 12px; align-items: center; }\n\n    .py-receipt-btn {\n        padding: 8px 20px;\n        border-radius: 4px;\n        font-size: 14px;\n        font-weight: 600;\n        cursor: pointer;\n        text-decoration: none;\n        display: inline-flex;\n        align-items: center;\n        justify-content: center;\n        transition: 0.2s;\n        height: 38px;\n        box-shadow: none;\n        border: none;\n    }\n\n    .py-receipt-btn-secondary { background: transparent; border: 1px solid var(--py-border); color: var(--py-text-primary); }\n    .py-receipt-btn-secondary:hover { background: #f3f4f6; }\n\n    .py-receipt-btn-primary { background: var(--py-primary-blue); border: 1px solid var(--py-primary-blue); color: white; }\n    .py-receipt-btn-primary:hover { background: var(--py-primary-hover); }\n\n    .py-receipt-spinner {\n        display: none; width: 14px; height: 14px;\n        border: 2px solid #fff; border-top-color: transparent;\n        border-radius: 50%; animation: py-receipt-spin 0.8s linear infinite; margin-left: 8px;\n    }\n    @keyframes py-receipt-spin { 100% { transform: rotate(360deg); } }\n\n    .py-receipt-hidden { display: none !important; }\n\n    \/* Hide Mobile Buttons on Desktop *\/\n    .py-receipt-btn-mobile { display: none !important; }\n\n    \/* --- MOBILE RESPONSIVE FIX --- *\/\n    @media (max-width: 768px) {\n        \/* Hide Top Nav on Mobile *\/\n        .py-receipt-top-nav { display: none; }\n\n        .py-receipt-ide-container { flex-direction: column; overflow-y: auto; height: auto; }\n        .py-receipt-left-pane, .py-receipt-right-pane { width: 100%; height: auto; }\n        \n        \/* 1. Left Pane *\/\n        .py-receipt-left-pane { \n            border-right: none; \n            border-bottom: 8px solid #f3f4f6; \n            min-height: auto;\n            max-height: 400px;\n        }\n        \n        \/* 2. Right Pane: Flex Column for ordering *\/\n        .py-receipt-right-pane { display: flex; flex-direction: column; }\n        \n        \/* 3. Unwrap Console\/Footer to shuffle children *\/\n        .py-receipt-console-section, \n        .py-receipt-console-body,\n        .py-receipt-footer-actions { \n            display: contents; \n        }\n        \n        .py-receipt-console-header { display: none; }\n\n        \/* --- ORDERING LOGIC --- *\/\n\n        \/* Order 1: Top Bar *\/\n        .py-receipt-editor-top-bar { order: 1; }\n        \n        \/* Order 2: Code Editor *\/\n        .py-receipt-code-area { \n            order: 2; \n            height: 500px; \n        } \n        .py-receipt-code-area .CodeMirror { position: relative; height: 500px; }\n\n        \/* Order 3: Input Area (Top of bottom section) *\/\n        .py-receipt-input-wrapper { \n            order: 3;\n            width: 100%; \n            height: auto;\n            min-height: 280px; \n            border-right: none;\n            border-top: 8px solid #f3f4f6; \n            border-bottom: 1px solid var(--py-border);\n        }\n\n        \/* Order 4: Execution Buttons (Run\/Reset) *\/\n        .py-receipt-execution-group {\n            order: 4;\n            width: 100%;\n            display: flex;\n            padding: 15px;\n            gap: 10px;\n            border-bottom: 1px solid var(--py-border);\n            background: #fff;\n        }\n        \/* Make Run\/Reset buttons full width for touch targets *\/\n        .py-receipt-execution-group .py-receipt-btn { flex: 1; }\n        \n        \/* Order 5: Output Area *\/\n        .py-receipt-output-wrapper {\n            order: 5;\n            width: 100%;\n            height: auto;\n            min-height: 300px;\n            max-height: 500px;\n            border-right: none;\n            background: #fff;\n        }\n\n        \/* Order 6: Navigation (Next\/Prev) - Bottom of screen *\/\n        \/* Show the mobile buttons *\/\n        .py-receipt-btn-mobile {\n            display: inline-flex !important;\n            order: 6;\n            width: 48%; \/* Sit side by side *\/\n            margin: 15px 1%;\n            box-sizing: border-box;\n            text-align: center;\n        }\n        \n        \/* Handle links that are hidden via JS logic *\/\n        a.py-receipt-hidden { display: none !important; }\n    }\n<\/style>\n\n<\/head>\n\n<body>\n\n<div class=\"py-receipt-wrapper\">\n    <div class=\"py-receipt-top-nav\">\n        <a id=\"py-receipt-btn-prev-top\" class=\"py-receipt-btn py-receipt-btn-secondary py-receipt-hidden\" href=\"#\">&larr; Previous<\/a>\n        <span class=\"py-receipt-nav-title\">Module 5: Dictionaries & Sets<\/span>\n        <a id=\"py-receipt-btn-next-top\" class=\"py-receipt-btn py-receipt-btn-primary py-receipt-hidden\" href=\"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/create-a-dictionary-based-phonebook\">Next &rarr;<\/a>\n    <\/div>\n\n    <div class=\"py-receipt-ide-container\" id=\"py-receipt-ideContainer\">\n        \n        <div class=\"py-receipt-left-pane\">\n            <div class=\"py-receipt-tabs-header\">\n                <div class=\"py-receipt-tab-item active\" onclick=\"pyReceiptSwitchTab('statement')\">Statement<\/div>\n                <div class=\"py-receipt-tab-item\" onclick=\"pyReceiptSwitchTab('solution')\">Solution<\/div>\n            <\/div>\n\n            <div id=\"py-receipt-tab-statement\" class=\"py-receipt-pane-content active\">\n                <h1 id=\"python-exercise-5-1-character-counter\">Python Exercise 5.1: Character Counter<\/h1>\n                <p>Use a dictionary to count how many times each character appears in a string.<\/p>\n                <p>Your program should:<\/p>\n                <ul>\n                    <li>Ask the user for a string input.<\/li>\n                    <li>Create a dictionary where keys are characters and values are their counts.<\/li>\n                    <li>Print the character counts in a readable format.<\/li>\n                    <li>Handle both uppercase and lowercase characters (case-sensitive or insensitive, your choice).<\/li>\n                <\/ul>\n\n                <h3 id=\"sample-interaction\">Sample Interaction:<\/h3>\n                <div class=\"py-receipt-sample-box\">\n                    <div class=\"py-receipt-sample-header\">\n                        <div class=\"py-receipt-sample-col-title\">Input<\/div>\n                        <div class=\"py-receipt-sample-col-title\">Output<\/div>\n                    <\/div>\n                    <div class=\"py-receipt-sample-body\">\n                        <div class=\"py-receipt-sample-col-content\">hello world<\/div>\n                        <div class=\"py-receipt-sample-col-content\">Enter a string: hello world\nCharacter counts:\nh: 1\ne: 1\nl: 3\no: 2\n : 1\nw: 1\nr: 1\nd: 1<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"py-receipt-tab-solution\" class=\"py-receipt-pane-content\">\n                <h1 id=\"solution\">Solution<\/h1>\n                <p>Here is one way to solve this using a dictionary.<\/p>\n                <div class=\"py-receipt-solution-block\"># Get input\ntext = input(\"Enter a string: \")\n\n# Initialize dictionary\nchar_count = {}\n\n# Count characters\nfor char in text:\n    if char in char_count:\n        char_count[char] += 1\n    else:\n        char_count[char] = 1\n\n# Print results\nprint(\"Character counts:\")\nfor char, count in char_count.items():\n    print(f\"{char}: {count}\")<\/div>\n                \n                <p style=\"margin-top:20px\"><strong>Key Concepts:<\/strong><\/p>\n                <ul>\n                    <li>Dictionaries store key-value pairs, perfect for counting.<\/li>\n                    <li>Use <code>in<\/code> to check if a key exists.<\/li>\n                    <li><code>.items()<\/code> returns key-value pairs for iteration.<\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n\n        <div class=\"py-receipt-right-pane\">\n            <div class=\"py-receipt-editor-top-bar\">\n                <span class=\"py-receipt-lang-label\">Python 3<\/span>\n                <div class=\"py-receipt-editor-settings\">\n                    <i class=\"fas fa-expand\" id=\"py-receipt-fullscreenBtn\" title=\"Toggle Fullscreen\"><\/i>\n                <\/div>\n            <\/div>\n\n            <div class=\"py-receipt-code-area\">\n                <div id=\"py-receipt-code-editor-div\"><\/div>\n            <\/div>\n\n            <div class=\"py-receipt-console-section\">\n                <div class=\"py-receipt-console-header\">Test Console<\/div>\n                <div class=\"py-receipt-console-body\">\n                    <div class=\"py-receipt-input-wrapper\">\n                        <label class=\"py-receipt-console-label\">Custom Input (Stdin)<\/label>\n                        <textarea id=\"py-receipt-custom-input\" class=\"py-receipt-custom-input-area\" placeholder=\"Enter input here...\">hello world<\/textarea>\n                    <\/div>\n                    <div class=\"py-receipt-output-wrapper\">\n                        <label class=\"py-receipt-console-label\">Output<\/label>\n                        <div id=\"py-receipt-output-console\" class=\"py-receipt-output-display\">Run code to see output...<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"py-receipt-footer-actions\">\n                <a id=\"py-receipt-btn-prev-mobile\" class=\"py-receipt-btn py-receipt-btn-secondary py-receipt-hidden py-receipt-btn-mobile\" href=\"#\">&larr; Previous<\/a>\n\n                <div class=\"py-receipt-execution-group\">\n                    <button class=\"py-receipt-btn py-receipt-btn-secondary\" onclick=\"pyReceiptResetCode()\">Reset<\/button>\n                    \n                    <button class=\"py-receipt-btn py-receipt-btn-primary\" onclick=\"pyReceiptRunCode()\">\n                        <span id=\"py-receipt-btn-text\">Run Code<\/span>\n                        <span class=\"py-receipt-spinner\" id=\"py-receipt-btn-spinner\"><\/span>\n                    <\/button>\n                <\/div>\n\n                <a id=\"py-receipt-btn-next-mobile\" class=\"py-receipt-btn py-receipt-btn-primary py-receipt-hidden py-receipt-btn-mobile\" href=\"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/create-a-dictionary-based-phonebook\">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    \/\/ Global variable for this specific exercise to allow inline HTML clicks\n    var pyReceiptEditor; \n    var pyReceiptStarterCode;\n\n    \/\/ --- 1. CONFIGURATION: EXERCISE LINKS ---\n    const pyReceiptPrevLink = \"\"; \n    const pyReceiptNextLink = \"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/create-a-dictionary-based-phonebook\"; \n\n    \/\/ --- 2. Button Visibility Logic (Updates both Desktop and Mobile buttons) ---\n    document.addEventListener(\"DOMContentLoaded\", function() {\n        \/\/ Desktop Top Buttons\n        const prevBtnTop = document.getElementById('py-receipt-btn-prev-top');\n        const nextBtnTop = document.getElementById('py-receipt-btn-next-top');\n        \n        \/\/ Mobile Bottom Buttons\n        const prevBtnMobile = document.getElementById('py-receipt-btn-prev-mobile');\n        const nextBtnMobile = document.getElementById('py-receipt-btn-next-mobile');\n\n        if (pyReceiptPrevLink && pyReceiptPrevLink.trim() !== \"\") {\n            \/\/ Enable Desktop\n            prevBtnTop.classList.remove('py-receipt-hidden');\n            \/\/ Enable Mobile\n            prevBtnMobile.classList.remove('py-receipt-hidden');\n        }\n\n        if (pyReceiptNextLink && pyReceiptNextLink.trim() !== \"\") {\n            \/\/ Enable Desktop\n            nextBtnTop.classList.remove('py-receipt-hidden');\n            \/\/ Enable Mobile\n            nextBtnMobile.classList.remove('py-receipt-hidden');\n        }\n    });\n\n    \/\/ --- 3. IDE Logic ---\n    function pyReceiptSwitchTab(tabName) {\n        document.querySelectorAll('.py-receipt-pane-content').forEach(el => el.classList.remove('active'));\n        document.querySelectorAll('.py-receipt-tab-item').forEach(el => el.classList.remove('active'));\n        document.getElementById('py-receipt-tab-' + tabName).classList.add('active');\n        \n        const tabs = document.querySelectorAll('.py-receipt-tab-item');\n        if(tabName === 'statement') tabs[0].classList.add('active');\n        if(tabName === 'solution') tabs[1].classList.add('active');\n    }\n\n    const pyReceiptFullscreenBtn = document.getElementById('py-receipt-fullscreenBtn');\n    const pyReceiptIdeContainer = document.getElementById('py-receipt-ideContainer');\n\n    if(pyReceiptFullscreenBtn) {\n        pyReceiptFullscreenBtn.addEventListener('click', () => {\n            if (!document.fullscreenElement) {\n                pyReceiptIdeContainer.requestFullscreen().catch(err => alert(`Error: ${err.message}`));\n                pyReceiptFullscreenBtn.classList.replace('fa-expand', 'fa-compress');\n            } else {\n                document.exitFullscreen();\n                pyReceiptFullscreenBtn.classList.replace('fa-compress', 'fa-expand');\n            }\n        });\n    }\n\n    \/\/ --- STARTER CODE ---\n    pyReceiptStarterCode = `# Exercise 5.1: Character Counter\n# Use a dictionary to count character frequencies\n\n# 1. Get user input\n\n# 2. Initialize an empty dictionary\n\n# 3. Loop through each character and count\n\n# 4. Print the results\n`;\n\n    \/\/ Initialize CodeMirror on the prefixed ID\n    pyReceiptEditor = CodeMirror(document.getElementById(\"py-receipt-code-editor-div\"), {\n        value: pyReceiptStarterCode,\n        mode: \"python\",\n        theme: \"eclipse\",\n        lineNumbers: true,\n        indentUnit: 4,\n        autoCloseBrackets: true\n    });\n\n    function pyReceiptResetCode() {\n        pyReceiptEditor.setValue(pyReceiptStarterCode);\n        document.getElementById(\"py-receipt-output-console\").innerText = \"Run code to see output...\";\n    }\n\n    function pyReceiptRunCode() {\n        const spinner = document.getElementById('py-receipt-btn-spinner');\n        const btnText = document.getElementById('py-receipt-btn-text');\n        const outputBox = document.getElementById('py-receipt-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 = pyReceiptEditor.getValue();\n        const userInput = document.getElementById('py-receipt-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\n<\/body>\n<\/html>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exercise 5.1 &larr; Previous Module 5: Dictionaries &#038; Sets Next &rarr; Statement Solution Python Exercise 5.1: Character Counter Use a dictionary to count how many times each character appears in a string. Your program should: Ask the user for a string input. Create a dictionary where keys are characters and values are their counts. Print [&hellip;]<\/p>\n","protected":false},"author":278,"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-117551","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 to Count the Character - 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-to-count-the-character\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python Program to Count the Character\" \/>\n<meta property=\"og:description\" content=\"Exercise 5.1 &larr; Previous Module 5: Dictionaries &amp; Sets Next &rarr; Statement Solution Python Exercise 5.1: Character Counter Use a dictionary to count how many times each character appears in a string. Your program should: Ask the user for a string input. Create a dictionary where keys are characters and values are their counts. Print [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/\" \/>\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=\"1 minute\" \/>\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-to-count-the-character\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/\"},\"author\":{\"name\":\"Vishal Shevale\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#\\\/schema\\\/person\\\/9beb524cce2090135551dc75ac651da6\"},\"headline\":\"Python Program to Count the Character\",\"datePublished\":\"2026-05-07T06:32:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/\"},\"wordCount\":193,\"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-to-count-the-character\\\/\",\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/\",\"name\":\"Python Program to Count the Character - Great Learning Blog: Free Resources what Matters to shape your Career!\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-05-07T06:32:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/python-exercise\\\/python-program-to-count-the-character\\\/#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 to Count the Character\"}]},{\"@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\\\/9beb524cce2090135551dc75ac651da6\",\"name\":\"Vishal Shevale\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g\",\"caption\":\"Vishal Shevale\"},\"sameAs\":[\"https:\\\/\\\/www.mygreatlearning.com\\\/\"],\"url\":\"https:\\\/\\\/www.mygreatlearning.com\\\/blog\\\/author\\\/vishal-shevale\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python Program to Count the Character - 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-to-count-the-character\/","og_locale":"en_US","og_type":"article","og_title":"Python Program to Count the Character","og_description":"Exercise 5.1 &larr; Previous Module 5: Dictionaries & Sets Next &rarr; Statement Solution Python Exercise 5.1: Character Counter Use a dictionary to count how many times each character appears in a string. Your program should: Ask the user for a string input. Create a dictionary where keys are characters and values are their counts. Print [&hellip;]","og_url":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/","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":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/#article","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/"},"author":{"name":"Vishal Shevale","@id":"https:\/\/www.mygreatlearning.com\/blog\/#\/schema\/person\/9beb524cce2090135551dc75ac651da6"},"headline":"Python Program to Count the Character","datePublished":"2026-05-07T06:32:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/"},"wordCount":193,"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-to-count-the-character\/","url":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/","name":"Python Program to Count the Character - Great Learning Blog: Free Resources what Matters to shape your Career!","isPartOf":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/#website"},"datePublished":"2026-05-07T06:32:33+00:00","breadcrumb":{"@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.mygreatlearning.com\/blog\/python-exercise\/python-program-to-count-the-character\/#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 to Count the Character"}]},{"@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\/9beb524cce2090135551dc75ac651da6","name":"Vishal Shevale","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b0f392a4f65200549d0f0d36cf6db193711e782a1087e49e6f10868db49a4aa9?s=96&d=mm&r=g","caption":"Vishal Shevale"},"sameAs":["https:\/\/www.mygreatlearning.com\/"],"url":"https:\/\/www.mygreatlearning.com\/blog\/author\/vishal-shevale\/"}]}},"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":"Vishal Shevale","author_link":"https:\/\/www.mygreatlearning.com\/blog\/author\/vishal-shevale\/"},"uagb_comment_info":0,"uagb_excerpt":"Exercise 5.1 &larr; Previous Module 5: Dictionaries & Sets Next &rarr; Statement Solution Python Exercise 5.1: Character Counter Use a dictionary to count how many times each character appears in a string. Your program should: Ask the user for a string input. Create a dictionary where keys are characters and values are their counts. Print&hellip;","_links":{"self":[{"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117551","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\/278"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/comments?post=117551"}],"version-history":[{"count":12,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117551\/revisions"}],"predecessor-version":[{"id":117553,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/pages\/117551\/revisions\/117553"}],"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=117551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/categories?post=117551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mygreatlearning.com\/blog\/wp-json\/wp\/v2\/tags?post=117551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}