'Python detect string and int using exception handling
I am trying to work on detecting strings and int using exception handling and cannot figure it out. Please help!
Using the inputs
- Lee 18
- Lua 21
- Mary Beth 19
- Stu 33
- -1
parts = input().split()
name = parts[0]
while name != '-1':
# FIXME: The following line will throw ValueError exception.
# Insert try/except blocks to catch the exception.
try:
age = int(parts[1]) + 1
print('{} {}'.format(name, age))
parts = input().split()
name = parts[0]
if age != 0:
raise ValueError(0)
except ValueError as excpt:
name = parts[0]
age = excpt
The result of the code above is:
- Lee 19
- Lua 22
When I am trying to get the code to result with:
- Lee 19
- Lua 22
- Mary 0
- Stu 34
Please assist!
Solution 1:[1]
I figured this one out messing with it for a while solution code
# Split input into 2 parts: name and age
parts = input().split()
name = parts[0]
while name != '-1':
# FIXME: The following line will throw ValueError exception.
# Insert try/except blocks to catch the exception.
try:
age = int(parts[1]) + 1
print('{} {}'.format(name, age))
parts = input().split()
name = parts[0]
if age == 'Beth':
age = 0
except ValueError as excpt:
age = 0
print('{} {}'.format(name, age))
parts = input().split()
name = parts[0]
Solution 2:[2]
try:
age = int(parts[1]) + 1
print('{} {}'.format(name, age))
parts = input().split()
name = parts[0]
except ValueError as excpt:
age = 0
print('{} {}'.format(name, age))
parts = input().split()
name = parts[0]
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Lawrence Valdivia |
Solution 2 | Tomy |