使用基本python运算符反转python中任何给定字符串的代码[重复]

Posted

技术标签:

【中文标题】使用基本python运算符反转python中任何给定字符串的代码[重复]【英文标题】:code to reverse any given string in python using basic python operators [duplicate] 【发布时间】:2013-09-02 19:45:34 【问题描述】:

我是编程新手。我正在尝试编写一个代码来打印任何给定字符串的反转。 我写了以下代码:

import math
string= raw_input ("Enter string")
n= len(string)
ol= n-1
for ol>-1,ol--:
    print string[ol]

但我收到语法错误。请帮我解决这个问题。

【问题讨论】:

for ol>-1,ol--,这不是python语法。 为什么需要数学模块? @badc0re 我说我是编程新手。所以我只是尝试导入它以检查它是否适合我。 人们对这个问题投了反对票:你曾经也是初学者,被类似的问题难住了,无法思考自己。 好吧,也许你是个初学者,但你有没有尝试过阅读 Python 基础知识? 【参考方案1】:

Python tries very hard to present code in a readable way。这意味着您不会得到许多其他语言(如 C)提供的丑陋、难以理解的快捷方式。相反,您可以获得其他更容易理解的快捷方式。

在python中循环一个范围的代码是:

for ol in range(n):

要向后迭代,请使用

for ol in range(n-1,-1,-1):

但当然,有人无法抗拒并为该语言添加了不可读的快捷方式:

print string[::-1]

相关:

Loop backwards using indices in Python? Reverse a string in Python

【讨论】:

它对我有用,感谢您的参考。【参考方案2】:

您可以使用这些链接进行进一步的工作,我知道这个答案超出了主题:

Code Academy

全世界的人们都在通过 Codecademy 学习。

Python the hard way

Learn Python The Hard Way,第 3 版

Python Monk

免费的交互式教程可帮助您发现 Python 习语,在 你的浏览器!

【讨论】:

感谢您提供的参考资料。一定会经历的。【参考方案3】:

如果您想自己对字符串进行反向编码,也可以试试这个。当您反转非常大的字符串时,这将很有用。您只需只遍历其中的一半

Data = list("ABCDEF")
Len  = len(Data)

for i in range(Len//2):
    Data[i], Data[Len - i - 1] = Data[Len - i - 1], Data[i]

Data = ''.join(Data)

print Data

注意:此解决方案仅供学习。出于实际目的,请使用@Aaron Digulla 的第三个选项。它将提供比其他任何东西更好的性能。它被称为切片。阅读这里http://docs.python.org/2/tutorial/introduction.html#strings

print string[::-1]

【讨论】:

以上是关于使用基本python运算符反转python中任何给定字符串的代码[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Learing-Python:Python中的基本运算符

仅使用按位运算反转数字

在Python中反转一个字符串

Python3 基本数据类型

Python的基本数据类型

Python3 基本数据类型