2014-05-17 26 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'