2017-10-19 83 views
1

我正在解決CS介紹類的問題。雖然我已經開始工作,但我還沒有得到正確的工作。如何從Python中的concatinated子串索引中刪除空格?

這是作業: 編寫一個程序,它使用input()讀取一個字符串,並輸出相同的字符串,但交換第一個和最後一個字符。 (你可以假定輸入字符串的長度至少爲2)。例如,在輸入Fairy上,一個正確的程序將打印yairF。提示:作爲答案的一部分,將您的解決方案用於以前的程序。

這是我的代碼:

user_input = input() 
print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0]) 

不幸的是,我的輸出是 「Y空氣F」,而不是 「yairF」。我如何能夠連接這個沒有空格的索引?我嘗試了許多事情失敗,並且在搜索中找不到任何幫助。我應該能夠使用len函數和索引子字符串來實現這一點。

感謝您提前從一個完整的newb到Python!

+1

這裏有一個小技巧:可以使用負指數,指數權。例如,'x [len(x)-1]'相當於'x [-1]'。也適用於切片,例如'user_input [1:-1]' – Felk

回答

2

只要做到:

user_input = input() 
print(user_input[len(user_input)-1] + user_input[1:len(user_input)-1] + user_input[0]) 
#yairF 

默認情況下,當您在打印語句中使用,,它包括了後一個whitespace。在此您添加所有必需的字符串,然後將其傳遞給print聲明。


或者相反,你可以使用sep=指定分隔符爲empty string

print(user_input[len(user_input)-1],user_input[1:len(user_input)-1],user_input[0] , sep='') 

還有一項建議。而不是做user_input[len(user_input)-1],你可以直接做user_input[-1]這裏會給你last char

+0

謝謝!現在看起來很簡單。 –

+0

通常他們是:D無論如何,很高興幫助。 –

1

這是因爲默認行爲print()

您可以傳遞參數sep以覆蓋默認分隔符。

print(s1, s2, s3, sep='')此代碼將幫助您。

見Python解釋器的文件與help(print)