My Python script fails with this error:
ValueError: invalid literal for int() with base 10: ''.
What causes this and how do I fix it?
This error message arises from a failure to convert an empty string (''
) to an integer. This might arise in the following script if the user presses Enter without providing any input:
user_input = input("Enter a whole number: ") print(f"Your number is 1 smaller than {1 + int(user_input)}")
To prevent this error, we should check that our string is not empty before passing it to int()
for conversion:
user_input = input("Enter a whole number: ") try: print(f"Your number is 1 smaller than {1 + int(user_input)}") except ValueError: print("Please provide a valid number.")
A similar error might arise if the user provides a number with decimal places, such as 1.0
. We can avoid this error by converting the string to a float before converting it to an integer:
user_input = input("Enter a whole number (non-whole numbers will be rounded down): ") try: print(f"Your number is 1 smaller than {1 + int(float(user_input))}") except ValueError: print("Please provide a valid number.")
Get actionable, code-level insights to resolve Python performance bottlenecks and errors.
Create a free Sentry account
Create a Python project and note your DSN
Grab the Sentry Python SDK
pip install --upgrade sentry-sdk
import sentry_sdk sentry_sdk.init( "https://<key>@sentry.io/<project>", # Set traces_sample_rate to 1.0 to capture 100% # of transactions for performance monitoring. # We recommend adjusting this value in production. traces_sample_rate=1.0, )
Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.