我最近开始从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个中间字母时。
答案 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]
为了便于阅读,我还在运算符之间加了空格。