Python:每日一题(开胃菜)
请编写一个函数,它可以接受一个函数为字符串。如此字符串的长度(len)为偶数,
返回此字符串的中间两个字符;
如此字符串的长度(len)为基数,
则返回中间的一个字符。
Example:
Kata.getMiddle("test") should return "es"
Kata.getMiddle("testing") should return "t"
Kata.getMiddle("middle") should return "dd"
Kata.getMiddle("A") should return "A"
大家好好写,共同提高Python水平。
楼主解法(提高是自己的事,智慧的人会先思考再看答案)
**** Hidden Message ***** def getMiddle(s):
return s[(len(s)+1)//2-1: (len(s))//2+1] 换一种思路
def getMiddle(s):
while len(s)>2:
s = s
return s 本帖最后由 醉酒青牛 于 2017-9-15 13:41 编辑
class Kata:
def getMiddle(self,str1):
len1 = len(str1)
if len1%2 == 0:
str2 = str1
return str2
else:
return str1
>>> kata = Kata()
>>> kata.getMiddle('test')
'es'
>>> kata.getMiddle('testing')
't'
>>> 本帖最后由 bush牛 于 2017-9-14 22:19 编辑
def middle(List):
d = len(List) / 2
if d.is_integer():
print(List)
else:
print(List)
python2 和python3 的除法有区别。电脑没装2, 这个测试不知道是否正确。 厉害了
def getMiddle(p):
if len(p) % 2 == 0:
return p[(len(p)//2 - 1):(len(p)//2 + 1)]
else:
return p def get(a):
b=len(a)/2
if b==float(int(b)):
return(a)
else:
return(a)
print(get("fuhgjb"))
print(get("huwfg"))
不减0.5也行。。。 本帖最后由 chunchun2017 于 2017-9-15 10:59 编辑
def getmid(s):
print(s if (len(s))%2!=0 else s+s) 的 看看帖子里藏了啥好东西~~~ def get_middle(x):
m = len(x) // 2
if len(x) % 2 == 0:
return x
else:
return x 本帖最后由 baicel21314 于 2017-9-15 13:19 编辑
def get_middle(input_str):
if len(input_str)%2==0:
output_str=input_str+input_str
else:
output_str = input_str
return output_str {:10_277:} def getMiddle(string):
return {0:string,1:string}
{:5_90:} {:5_90:}
一天只能上传三个图片是什么鬼
{:5_104:} {:5_104:} 为奇数的时候,直接取单个数值喽
return s
{:5_92:}{:5_92:} def getMiddle(context):
strLen = len(context)
if strLen % 2 == 0:
return context
else:
return context ——————华丽分割线—————— len/2 就是0或者余1两种结果
def fun(s):
return s