Skip to content

Instantly share code, notes, and snippets.

@TApicella
Created May 16, 2017 17:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TApicella/a6f0a1aafe276e634532ad6b9abcb5ef to your computer and use it in GitHub Desktop.
Save TApicella/a6f0a1aafe276e634532ad6b9abcb5ef to your computer and use it in GitHub Desktop.
RosettaCode- Middle three digits created by tapicella - https://repl.it/IBVw/5
'''
Write a function/procedure/subroutine that is called with an integer value and returns the middle three digits of the integer if possible or a clear indication of an error if this is not possible.
Note: The order of the middle digits should be preserved.
Your function should be tested with the following values; the first line should return valid answers, those of the second line should return clear indications of an error:
123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345
1, 2, -1, -10, 2002, -2002, 0
Show your output on this page.
'''
def middlethree(myint):
mystr = str(abs(myint))
if len(mystr)%2 == 0 or len(mystr)<3:
return "Cannot get middle three digits"
else:
midpoint = len(mystr)//2
return mystr[midpoint-1:midpoint+2]
print(middlethree(10111))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment