-2

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

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

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

4

3 回答 3

4

Python 非常努力地以可读的方式呈现代码。这意味着您不会得到许多其他语言(如 C)提供的丑陋、难以理解的快捷方式。相反,您可以获得其他更容易理解的快捷方式。

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

for ol in range(n):

要向后迭代,请使用

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

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

print string[::-1]

有关的:

于 2013-08-30T07:00:09.120 回答
1

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

代码学院

世界各地的人们都在使用 Codecademy 进行学习。

Python 的艰难之路

艰难地学习 Python,第 3 版

蟒僧

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

于 2013-08-30T07:16:59.747 回答
1

如果你想自己编码字符串反转,也试试这个。当您反转非常大的字符串时,这将很有用。你只需要遍历它的一半

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]
于 2013-08-30T07:26:04.640 回答