python - 如何在 Python 中交换输入的第一个和最后一个字符

标签 python python-3.x

我是编程新手,通过在线类(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/

相关文章:

python - 如何阅读行中的特定单词?

python - 带比较运算符的 Numpy 广播;循环迭代

python - reportlab SimpleDocTemplate - 设置具有可变行数的表格的固定高度

python - 是否可以更改 if 语句中的 for 循环 header ?

Python:在为 __init__subclass__() 提供参数的同时动态创建类

python - 我如何使用 Python 字符串以使相同的代码在 2.6、2.7、3.x 中工作

class - 检查一个圆是否包含在另一个圆中

python - 无法使用 del 函数删除 json 中的字典键。收到类型错误

Python输出每个子目录下的文件个数到一个csv文件

python - 如何在 Python 中检测窗口大小调整