René's URL Explorer Experiment


Title: How to Read Python Input as Integers – Real Python

Open Graph Title: How to Read Python Input as Integers – Real Python

Description: In this tutorial, you'll learn how to use Python to get integer input from the user while handling any errors resulting from non-numeric input. This will involve coding your own reusable function built around input().

Open Graph Description: In this tutorial, you'll learn how to use Python to get integer input from the user while handling any errors resulting from non-numeric input. This will involve coding your own reusable function built around input().

Mail addresses
?subject=Python article for you&body=How to Read Python Input as Integers on Real Python https://realpython.com/python-input-integer/

Opengraph URL: https://realpython.com/python-input-integer/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "http://schema.org",
  "@type": "Article",
  "headline": "How to Read Python Input as Integers",
  "image": {
    "@type": "ImageObject",
    "url": "https://files.realpython.com/media/How-Can-I-Read-User-Input-as-Numbers_Watermarked.24b9ab049c36.jpg",
    "width": 1920,
    "height": 1080
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://realpython.com/python-input-integer/",
    "lastReviewed": "2023-03-14",
    "author": {
      "@type": "Person",
      "name": "Charles de Villiers",
      "image": "https://realpython.com/cdn-cgi/image/width=1500,height=1500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/real-python-logo-square.28474fda9228.png",
      "url": "https://realpython.com/team/cdevilliers/",
      "affiliation": {
        "@type": "Organization",
        "@id": "https://realpython.com/#organization",
        "name": "Real Python",
        "url": "https://realpython.com",
        "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
      }
    },
    "reviewedBy": [
      {
        "@type": "Person",
        "name": "Aldren Santos",
        "image": "https://realpython.com/cdn-cgi/image/width=500,height=500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Aldren_Santos_Real_Python.6b0861d8b841.png",
        "url": "https://realpython.com/team/asantos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Bartosz Zaczy\u0144ski",
        "image": "https://realpython.com/cdn-cgi/image/width=1694,height=1694,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/coders_lab_2109368.259b1599fbee.jpg",
        "url": "https://realpython.com/team/bzaczynski/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Geir Arne Hjelle",
        "image": "https://realpython.com/cdn-cgi/image/width=800,height=800,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/gahjelle.470149ee709e.jpg",
        "url": "https://realpython.com/team/gahjelle/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Kate Finegan",
        "image": "https://realpython.com/cdn-cgi/image/width=400,height=400,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/VZxEtUor_400x400.7169c68e3950.jpg",
        "url": "https://realpython.com/team/kfinegan/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      }
    ]
  },
  "datePublished": "2023-03-27T14:00:00+00:00",
  "dateModified": "2023-03-14T15:11:42.398641+00:00",
  "publisher": {
    "@type": "Organization",
    "@id": "https://realpython.com/#organization",
    "name": "Real Python",
    "url": "https://realpython.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png",
      "width": 512,
      "height": 512
    },
    "description": "Real Python is a leading provider of online Python education and one of the largest language-specific online communities for software developers. It publishes high-quality learning resources, such as tutorials, books, and courses to an audience of millions of developers, data scientists, and machine learning engineers each month.",
    "slogan": "Become a Python Expert",
    "email": "info@realpython.com",
    "sameAs": [
      "https://github.com/realpython",
      "https://www.youtube.com/realpython",
      "https://twitter.com/realpython",
      "https://x.com/realpython",
      "https://www.linkedin.com/company/realpython-com/",
      "https://www.facebook.com/learnrealpython",
      "https://www.instagram.com/realpython",
      "https://www.tiktok.com/@realpython.com"
    ]
  },
  "author": {
    "@type": "Person",
    "name": "Charles de Villiers",
    "image": "https://realpython.com/cdn-cgi/image/width=1500,height=1500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/real-python-logo-square.28474fda9228.png",
    "url": "https://realpython.com/team/cdevilliers/",
    "affiliation": {
      "@type": "Organization",
      "@id": "https://realpython.com/#organization",
      "name": "Real Python",
      "url": "https://realpython.com",
      "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
    }
  },
  "description": "In this tutorial, you'll learn how to use Python to get integer input from the user while handling any errors resulting from non-numeric input. This will involve coding your own reusable function built around input().",
  "hasPart": {
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Why you should beware of Python 2\u2019s input() function",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "

Python 2’s version of the input() function was unsafe because the interpreter would actually execute the string returned by the function before the calling program had any opportunity to verify it. This allowed a malicious user to inject arbitrary code into the program.

\n

Because of this issue, Python 2 also provided the raw_input() function as a much safer alternative, but there was always the risk that an unsuspecting programmer might choose the more obviously-named input().

\n

Python 3 renamed raw_input() to input() and removed the old, risky version of input(). In this tutorial, you’ll use Python 3, so this pitfall won’t be a concern.

" } } ] } }

authorReal Python
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/How-Can-I-Read-User-Input-as-Numbers_Watermarked.24b9ab049c36.jpg
og:imagehttps://files.realpython.com/media/How-Can-I-Read-User-Input-as-Numbers_Watermarked.24b9ab049c36.jpg
twitter:creator@realpython
og:typearticle

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/python-input-integer/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/quizzes/
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Code Mentor →BetaPersonalized code assistance & learning toolshttps://realpython.com/mentor/
Unlock All Content →https://realpython.com/account/join/
More https://realpython.com/python-input-integer/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Tutorial Writerhttps://realpython.com/write-for-us/
Become a Video Instructorhttps://realpython.com/become-an-instructor/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?next=%2Fpython-input-integer%2F
Browse Topicshttps://realpython.com/tutorials/all/
Guided Learning Pathshttps://realpython.com/learning-paths/
Basicshttps://realpython.com/search?level=basics
Intermediatehttps://realpython.com/search?level=intermediate
Advancedhttps://realpython.com/search?level=advanced
aihttps://realpython.com/tutorials/ai/
algorithmshttps://realpython.com/tutorials/algorithms/
apihttps://realpython.com/tutorials/api/
best-practiceshttps://realpython.com/tutorials/best-practices/
careerhttps://realpython.com/tutorials/career/
communityhttps://realpython.com/tutorials/community/
databaseshttps://realpython.com/tutorials/databases/
data-sciencehttps://realpython.com/tutorials/data-science/
data-structureshttps://realpython.com/tutorials/data-structures/
data-vizhttps://realpython.com/tutorials/data-viz/
devopshttps://realpython.com/tutorials/devops/
djangohttps://realpython.com/tutorials/django/
dockerhttps://realpython.com/tutorials/docker/
editorshttps://realpython.com/tutorials/editors/
flaskhttps://realpython.com/tutorials/flask/
front-endhttps://realpython.com/tutorials/front-end/
gamedevhttps://realpython.com/tutorials/gamedev/
guihttps://realpython.com/tutorials/gui/
machine-learninghttps://realpython.com/tutorials/machine-learning/
newshttps://realpython.com/tutorials/news/
numpyhttps://realpython.com/tutorials/numpy/
projectshttps://realpython.com/tutorials/projects/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
testinghttps://realpython.com/tutorials/testing/
toolshttps://realpython.com/tutorials/tools/
web-devhttps://realpython.com/tutorials/web-dev/
web-scrapinghttps://realpython.com/tutorials/web-scraping/
Table of Contentshttps://realpython.com/python-input-integer/#toc
How to Get Integer Input Values in Pythonhttps://realpython.com/python-input-integer/#how-to-get-integer-input-values-in-python
Dealing With Invalid Inputhttps://realpython.com/python-input-integer/#dealing-with-invalid-input
Filtering Your Input for Valid Integershttps://realpython.com/python-input-integer/#filtering-your-input-for-valid-integers
Creating a Utility Function to Read Valid Integershttps://realpython.com/python-input-integer/#creating-a-utility-function-to-read-valid-integers
Conclusionhttps://realpython.com/python-input-integer/#conclusion
Next Stepshttps://realpython.com/python-input-integer/#next-steps
https://realpython.com/feedback/survey/article/python-input-integer/liked/?from=article-sidebar
https://realpython.com/feedback/survey/article/python-input-integer/disliked/?from=article-sidebar
Charles de Villiershttps://realpython.com/python-input-integer/#author
https://realpython.com/python-input-integer/#reader-comments
basicshttps://realpython.com/tutorials/basics/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
How to Get Integer Input Values in Pythonhttps://realpython.com/python-input-integer/#how-to-get-integer-input-values-in-python
Dealing With Invalid Inputhttps://realpython.com/python-input-integer/#dealing-with-invalid-input
Filtering Your Input for Valid Integershttps://realpython.com/python-input-integer/#filtering-your-input-for-valid-integers
Creating a Utility Function to Read Valid Integershttps://realpython.com/python-input-integer/#creating-a-utility-function-to-read-valid-integers
Conclusionhttps://realpython.com/python-input-integer/#conclusion
Next Stepshttps://realpython.com/python-input-integer/#next-steps
Remove adshttps://realpython.com/account/join/
Click here to download the sample codehttps://realpython.com/bonus/python-input-integer-code/
https://realpython.com/python-input-integer/#how-to-get-integer-input-values-in-python
input()https://realpython.com/python-input-output/#reading-input-from-the-keyboard
executehttps://realpython.com/python-exec/#avoiding-input-from-untrusted-sources
stringhttps://realpython.com/python-strings/
integerhttps://realpython.com/python-numbers/#integers
printhttps://realpython.com/python-print/
int()https://docs.python.org/3/library/functions.html#int
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-input-integer/#dealing-with-invalid-input
exceptionhttps://realpython.com/python-exceptions/
https://realpython.com/python-input-integer/#filtering-your-input-for-valid-integers
LBYL or EAFPhttps://realpython.com/python-lbyl-vs-eafp/
try … except blockhttps://realpython.com/python-exceptions/#the-try-and-except-block-handling-exceptions
Remove adshttps://realpython.com/account/join/
https://realpython.com/python-input-integer/#creating-a-utility-function-to-read-valid-integers
your own robust functionhttps://realpython.com/defining-your-own-python-function/
REPLhttps://realpython.com/python-repl/
absolute and relative imports in Pythonhttps://realpython.com/absolute-vs-relative-python-imports/
https://realpython.com/python-input-integer/#conclusion
Click here to download the sample codehttps://realpython.com/bonus/python-input-integer-code/
https://realpython.com/python-input-integer/#next-steps
bullethttps://github.com/Mckinsey666/bullet
cooked-inputhttps://pypi.org/project/cooked-input/
prompt_toolkithttps://pypi.org/project/prompt_toolkit/
questionnairehttps://github.com/kylebebak/questionnaire
Basic Input, Output, and String Formatting in Pythonhttps://realpython.com/python-input-output/
official documentationhttps://docs.python.org/3/library/functions.html#input
Numbers in Pythonhttps://realpython.com/python-numbers/
https://realpython.com/feedback/survey/article/python-input-integer/liked/?from=article-footer
https://realpython.com/feedback/survey/article/python-input-integer/disliked/?from=article-footer
https://realpython.com/team/cdevilliers/
» More about Charleshttps://realpython.com/team/cdevilliers/
https://realpython.com/team/asantos/
Aldrenhttps://realpython.com/team/asantos/
https://realpython.com/team/bzaczynski/
Bartoszhttps://realpython.com/team/bzaczynski/
https://realpython.com/team/gahjelle/
Geir Arnehttps://realpython.com/team/gahjelle/
https://realpython.com/team/kfinegan/
Katehttps://realpython.com/team/kfinegan/
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python-input-integer
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python-input-integer
https://realpython.com/feedback/survey/article/python-input-integer/liked/?from=article-comments
https://realpython.com/feedback/survey/article/python-input-integer/disliked/?from=article-comments
LinkedInhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Frealpython.com%2Fpython-input-integer%2F
Twitterhttps://twitter.com/intent/tweet/?text=Interesting%20Python%20article%20on%20%40realpython%3A%20How%20to%20Read%20Python%20Input%20as%20Integers&url=https%3A%2F%2Frealpython.com%2Fpython-input-integer%2F
Blueskyhttps://bsky.app/intent/compose?text=Interesting%20Python%20article%20on%20%40realpython.com%3A%20How%20to%20Read%20Python%20Input%20as%20Integers%20https%3A%2F%2Frealpython.com%2Fpython-input-integer%2F
Facebookhttps://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fpython-input-integer%2F
Get tips for asking good questionshttps://realpython.com/python-beginner-tips/#tip-9-ask-good-questions
get answers to common questions in our support portalhttps://support.realpython.com
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
basicshttps://realpython.com/tutorials/basics/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
Python's Format Mini-Language for Tidy Stringshttps://realpython.com/python-format-mini-language/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-input-integer
Python 3.14 Released and Other Python News for November 2025https://realpython.com/python-news-november-2025/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-input-integer
How to Read User Input From the Keyboard in Pythonhttps://realpython.com/python-keyboard-input/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-input-integer
Introduction to Python SQL Librarieshttps://realpython.com/python-sql-libraries/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-input-integer
How to Strip Characters From a Python Stringhttps://realpython.com/python-strip/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python-input-integer
https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-input-integer%2F
Continue »https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython-input-integer%2F
Sign-Inhttps://realpython.com/account/login/?next=/python-input-integer/
Start Herehttps://realpython.com/start-here/
Learning Resourceshttps://realpython.com/search
Code Mentorhttps://realpython.com/mentor/
Python Referencehttps://realpython.com/ref/
Python Cheat Sheethttps://realpython.com/cheatsheets/python/
Support Centerhttps://support.realpython.com/
Learning Pathshttps://realpython.com/learning-paths/
Quizzes & Exerciseshttps://realpython.com/quizzes/
Browse Topicshttps://realpython.com/tutorials/all/
Live Courseshttps://realpython.com/live/
Bookshttps://realpython.com/books/
Podcasthttps://realpython.com/podcasts/rpp/
Newsletterhttps://realpython.com/newsletter/
Community Chathttps://realpython.com/community/
Office Hourshttps://realpython.com/office-hours/
Learner Storieshttps://realpython.com/learner-stories/
Plans & Pricinghttps://realpython.com/account/join/
Team Planshttps://realpython.com/account/join-team/
For Businesshttps://realpython.com/account/join-team/inquiry/
For Schoolshttps://realpython.com/account/join-team/education-inquiry/
Reviewshttps://realpython.com/learner-stories/
About Ushttps://realpython.com/about/
Teamhttps://realpython.com/team/
Mission & Valueshttps://realpython.com/mission/
Editorial Guidelineshttps://realpython.com/editorial-guidelines/
Sponsorshipshttps://realpython.com/sponsorships/
Careershttps://realpython.workable.com
Press Kithttps://realpython.com/media-kit/
Merchhttps://realpython.com/merch
https://www.youtube.com/realpython
https://x.com/realpython
https://www.linkedin.com/company/realpython-com
https://www.facebook.com/LearnRealPython
https://github.com/realpython/
Privacy Policyhttps://realpython.com/privacy-policy/
Terms of Usehttps://realpython.com/terms/
Securityhttps://realpython.com/security/
Contacthttps://realpython.com/contact/
https://realpython.com/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.