2012-10-23 110 views
-4
  1. 定義字符串
  2. 定義字符串的LEN
  3. 打印真如果字符串len爲偶和右半等同於左半部分,否則 - 打印錯誤。

我需要做的是隻在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" 

但出事了

+14

所以你嘗試過什麼是沒有效? –

+7

你需要先嚐試一下。 –

+0

閱讀[this](http://docs.python.org/library/stdtypes.html#typesseq)。 – kreativitea

回答

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 
+0

我不認爲你需要模數的東西....它應該是錯誤automagically,如果它不是長度,因爲雙方不會匹配 –

+0

@JoranBeasley。是啊已經更新。只是現在只測試它。謝謝:) –

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 
+0

如果還有顯示錯誤,它必須在不同的行 – user1562379

+0

@ user1562379你的python版本? –

+0

好吧,我的壞話;我知道了! – user1562379