2017-10-19 88 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)