Python challenges_2

level of challenge = 2/10
Middle letter
  • Write a function named mid that takes a string as its parameter.
  • Your function should extract and return the middle letter.
  • If there is no middle letter, your function should return the empty string.
  • For example, mid("abc") should return "b" and mid("aaaa") should return "".
  • Hint
  • First check if the string's length is even, and if so, return "".
  • You can use the % (modulo) operator to check.
  • An even string's length modulo 2 is 0, while an odd string's length modulo 2 is 1.
  • You can google "python check if number is even or odd" for clarification.
  • Also, note that in Python, an index must be an integer, not a floating-point number. So 2 is a valid index, but 2.0 is not.
  • Therefore use integer division // to calculate the index, or cast the float to an integer with int().
  • My solution
    def mid(my_string):
        length = len(my_string) % 2
        if length == 0:
            return ""
        elif length != 0:
            middle = len(my_string) // 2
            return my_string[middle]
    print(mid("cars"))
    The another solution
  • this approach uses // which is integer division in Python 3
  • alternatively, use / and int() in combination.
  • def middel(string):
        if len(string) % 2 == 0:
            return ""
        return string[len(string)//2]
    print(middel("abc"))
    Add your solution in the comment :)

    26

    This website collects cookies to deliver better user experience

    Python challenges_2