我是编程新手,通过在线类(class)学习 Python3。此练习要求我编写一个程序,该程序使用 input()
读取一个字符串,并输出相同的字符串,但交换第一个和最后一个字符(例如:Fairy 变成 yairF)。可能有一种更简单的方法可以使用更高级的函数来执行此操作,但是,出于本练习的目的,我应该只使用类、子字符串和索引来编写程序。这是我现在拥有的:
myString = input()
newString = (myString[1:len(myString)-1])
print(myString[len(myString)-1],newString,myString[0])
使用输入“Fairy”的示例,输出“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
,所以看起来我不能那样组合它们。处理此问题有什么技巧吗?
最佳答案
试试这个:
>>> temp = "abcde"
>>> temp[1:-1]
'bcd'
>>> temp[-1:] + temp[1:-1] + temp[:1]
'ebcda'
>>>
简而言之,python 具有出色的字符串切片语法。你可以用它施展魔法。
关于python - 如何在 Python 中交换输入的第一个和最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179584/