单词/Python的中间3个字母

单词/Python的中间3个字母,python,Python,任务是从word打印3个字母,例如,从word“python”=tho,从“linebreak”=ebr。如果字母数为偶数,则选择窗口将移到最近的字母。(左侧->) x=str(输入(“输入字符串:”) 打印(x[2:5]) 下一步我需要做什么 谢谢!这将解决您的问题: def middle_three(string): lower = (len(string) - 3) // 2 + 1 - len(string) % 2 upper = (len(string) + 3) /

任务是从word打印3个字母,例如,从word“python”=tho,从“linebreak”=ebr。如果字母数为偶数,则选择窗口将移到最近的字母。(左侧->)

x=str(输入(“输入字符串:”)

打印(x[2:5])

下一步我需要做什么


谢谢!

这将解决您的问题:

def middle_three(string):
    lower = (len(string) - 3) // 2 + 1 - len(string) % 2
    upper = (len(string) + 3) // 2 + 1 - len(string) % 2
    return string[lower:upper]
作为功能:

def mid(s):
    return s[int(len(s)/2) - 1:int(len(s)/2) + 2]
>>> s = input("Enter a string: ")
Enter a string: python
>>> print(s[int(len(s)/2) - 1:int(len(s)/2) + 2])
tho
或者作为看起来更短的lambda函数:

mid = lambda s: s[int(len(s)/2) - 1:int(len(s)/2) + 2]
用法:

>>> mid('python')
'tho'
或没有功能:

def mid(s):
    return s[int(len(s)/2) - 1:int(len(s)/2) + 2]
>>> s = input("Enter a string: ")
Enter a string: python
>>> print(s[int(len(s)/2) - 1:int(len(s)/2) + 2])
tho

我已经创建了额外的变量
length
——它是额外的

text = input()
length = len(text)
center = int(length / 2)
print("3 middle letters: ", text[center-1:center+2])

最后一行使用@bereal解决方案。

1)计算中心的索引,2)
print(x[center-1:center+2])
?您好,欢迎来到Stack Overflow,这看起来像是一个家庭作业问题,请查看有关索引的常见问题解答,如
x[2:5]
,以解决一般情况。检查长度是否为偶数/奇数,然后找到中间索引,然后找到-1和+1索引。感谢您的回答,但是如果可以在没有def和返回函数的情况下编写它,只使用输入、打印和len函数?@noteikti是的,可以。只需将输入结果分配给
s
变量,并使用我发布的结构