2014-05-17 51 views
1

我想使用python製作一個程序,其中用戶必須將等於任何名稱或任何單詞的值,並且它所做的是剪切單詞的第一個字母並將其粘貼在單詞的末尾添加2個與'py'相等的字母。Python:無法切分字符串


EX-輸入值:沙善 「這我得到的輸出是shashankspy」,但我想要的值是「hashankspy」

我所做的代碼是這樣的:

pyg = 'ay' 

original = raw_input('Enter a word:') 

if len(original) > 0 and original.isalpha(): 
    print original 

    word = original.lower() 
    first = word[0] 
    new_word = word + first + pyg 
    new_word[1:] 


else: 
    print 'empty' 

我無法獲得真正的價值。請幫忙!

回答

2

有你正在一個簡單的錯誤,這是可以做到的:

new_word = new_word[1:len(new_word)] 

    pyg = 'ay' 

original = raw_input('Enter a word:') 

if len(original) > 0 and original.isalpha(): 
    print original 

    word = original.lower() 
    first = word[0] 
    new_word = word + first + pyg 
    new_word = new_word[1:len(new_word)] 


else: 
    print 'empty' 
2

您需要的股份片從字[1:]

new_word = word[1:] + first + pyg 

此外,而不是檢查的長度是大於零,只是檢查的空虛:

if original and original.isalpha(): 

演示:

>>> def make_new_word(s): 
...  pyg = 'py' 
...  if s and s.isalpha(): 
...   word = s.lower() 
...   first = word[0] 
...   new_word = word[1:] + first + pyg 
...   return new_word 
...  else: 
...   return 'empty' 
... 
>>> original = raw_input('Enter a word: ') 
Enter a word: Shashank 
>>> make_new_word(original) 
'hashankspy' 
+0

非常感謝您的回答是正確的,但當我輸入此代碼時,我面臨的問題是什麼new_word = word + first + pyg new_word [1:] – Shashank

+0

@ShashankSharma你只是不打印它。 – alecxe

+0

雅我知道我沒有在這裏提到,但我已經把這種語法......但輸入new_word [1:]和打印new_word後,爲什麼我不能得到真正的價值。 – Shashank

0

把你放在空間裏的那一分鐘,original.isalpha()變成false,因爲一個空間不是A-Z。

0

你也可以這樣做增加

new_word = new_word [1:LEN(new_word)


pyg = 'ay' 

original = raw_input('Enter a word:') 

if len(original) > 0 and original.isalpha(): 
    print original 

    word = original.lower() 
    first = word[0] 
    new_word = word + first + pyg 
    new_word = new_word[1:len(new_word)] 


else: 
    print 'empty'