单词/ Python的中间3个字母

时间:2019-02-21 14:18:46

标签: python

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

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

print(x [2:5])

下一步我需要做什么?

谢谢!

3 个答案:

答案 0 :(得分:0)

这将解决您的问题:

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]

答案 1 :(得分:0)

功能:

def mid(s):
    return s[int(len(s)/2) - 1:int(len(s)/2) + 2]

或者作为看起来更短的lambda函数:

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

用法:

>>> mid('python')
'tho'

或者没有功能:

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

答案 2 :(得分:0)

我创建了额外的变量import numpy as np def test(x,y,z): len1 = len(x) len2 = len(y) len3 = len(z) lentot = len1*len2*len3 codons = np.empty((1,lentot)) for i in range(len1): for j in range(len2): for k in range(len3): codons[] = np.array([x[i],y[j],z[k]]) return codons -它是附加变量。

length

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