其他一直给我Python中的无效语法

时间:2019-04-29 16:51:03

标签: python-3.x

我最近开始从Codewars学习python。 今天,我正在处理此问题,但我一直遇到错误。 这就是问题所在:https://www.codewars.com/kata/56747fd5cb988479af000028/train/python

这是我写的代码:

    def get_middle(s):
               if len(s) %2==0:
            x =int(len(s))/2-1
            x = int(x)
            y = int(len(s))/2
            y =int(y)
    return s[x]+s[y]
    else:

            d = int(len(s))//2
            d = int(d)
    return s[d]

每次尝试运行它时,都会收到错误消息,指出该语法无效。 对于发布此问题时可能做错的任何事情,我感到抱歉,因为这是我第一次在此处发布XD。

这是我得到的错误

Traceback (most recent call last):
  File "n.py", line 1, in <module>
    import get_middle
  File "/home/kebi/Desktop/get_middle.py", line 8
    else:
       ^
SyntaxError: invalid syntax

我尝试将“ d”转换为“ int”,但我不知道该怎么办。

我希望输出会给我单词的中间字母,或者当单词长度为2个中间字母时。

1 个答案:

答案 0 :(得分:0)

Python是缩进的,即缩进形成逻辑块。

这应该解决语法错误:

def get_middle(s):
    if len(s) % 2 == 0:
        x = int(len(s)) / 2 - 1
        x = int(x)
        y = int(len(s)) / 2
        y = int(y)
        return s[x] + s[y]
    else:
        d = int(len(s)) // 2
        d = int(d)
        return s[d]

为了便于阅读,我还在运算符之间加了空格。