使用基本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中任何给定字符串的代码[重复]的主要内容,如果未能解决你的问题,请参考以下文章