我是一个全新的编程,从网上课程学习Python3。本练习要求我编写一个程序,该程序使用input()
读取字符串,并输出相同的字符串,但交换了第一个和最后一个字符(例如:Fairy变成yairF)。使用更高级的函数可能有一种更简单的方法来实现这一点,但是,在本练习中,我应该只使用类、子字符串和索引来编写程序。以下是我现在拥有的:
myString = input()
newString = (myString[1:len(myString)-1])
print(myString[len(myString)-1],newString,myString[0])
以输入“F air y”为例,输出“y air F”,这不是我想要的。我也试过了
myString = input()
newString = (myString[1:len(myString)-1])
newString[0] = myString[len(myString)-1]
newString[len(newString)-1] = myString[0]
print(newString)
然而,第三行给了我:TypeError: 'str' object does not support item assignment
。所以我猜我不能给索引中的位置分配新值。我下面的另一种方法也给了我一个错误:
myString = input()
newString = (myString[1:len(myString)-1])
lastString = str(myString[len(myString)-1],newString,myString[0])
print(lastString)
第三行给了我:TypeError: decoding str is not supported
,所以看起来我不能那样组合它们。有什么处理这个的技巧吗?
python中的字符串是不可变的,因此不能简单地执行以下操作:
要交换字符串中的字母,可以将其转换为
list
,然后只需更改列表的顺序:印刷品:
试试这个:
简言之,python具有华丽的字符串切片语法。你可以用它来变魔术。
只是为了好玩:
相关问题 更多 >
编程相关推荐