ValueError: invalid literal for int() with base 10: 'hello'
Youβre trying to convert a string to a number, but the string isnβt a valid number.
Fix 1: Validate before converting
user_input = input("Enter a number: ") # User types "hello"
# β Crashes if input isn't a number
number = int(user_input) # ValueError!
# β
Validate first
if user_input.isdigit():
number = int(user_input)
else:
print("Please enter a valid number")
Fix 2: Use try/except
try:
number = int(user_input)
except ValueError:
number = 0 # Default value
print("Invalid number, using 0")
Fix 3: Strip whitespace and newlines
# β Hidden whitespace
value = "42\n"
number = int(value) # ValueError!
# β
Strip first
number = int(value.strip()) # 42
Fix 4: Handle floats
# β int() can't parse floats directly
number = int("3.14") # ValueError!
# β
Convert through float first
number = int(float("3.14")) # 3
Related resources
Related: Pip Install Error Fix