python家庭作业

时间:2012-10-23 18:01:24

标签: python

  
      
  1. 定义字符串
  2.   
  3. 定义字符串的len
  4.   
  5. 如果字符串len是偶数且右半部分与左半部分相同,则打印true,否则 - print false。
  6.   

我只需要在3行中完成它,它必须适用于每个字符串len而不改变(3)中的条件。

我们还没有学习或循环。它应该是切片。

请帮忙。


我试图这样做:

some_string = "bb" 
str_len = len (some_string),str(a)
if str_len%2==0 and some_string[0:a/2]==some_string[a/2:0]: print "True"
else: print "False"

但出了点问题

2 个答案:

答案 0 :(得分:3)

您的代码几乎没问题,只需要稍微改进一下。您实际上不需要使用modulus(%)运算符检查偶数长度,因为第二个条件会自动处理它。

所以,以下是您的代码的外观: -

>>> def check_str(value):
        mid = len(value) / 2
        return True if value[:mid] == value[mid:] else False

>>> check_str("abab")
True
>>> check_str("abb")
False
>>> check_str("aaba")
False

答案 1 :(得分:2)

使用ternary operator

In [38]: def ans(x):

    strs=x           # line 1
    length=len(strs) # line 2 
    print True if length%2==0 and strs[0:length/2]==strs[length/2:] else False  ## line 3
   ....:     
   ....:     

In [42]: ans("bb")
True

In [43]: ans("bbb")
False

In [44]: ans("abcabc")
True

In [45]: ans("abcdabc")
False