展开全部
在你2113所提问的内容中,你提供的代码很乱。我大5261概看了4102下,你的代码功能大概是反转1653字符串内容。主要工作代码是先把字符串转换为list,然后join起来,再把反转好的字符串输出到屏幕上。是这样吧?
但有一点你要注意:
你所在的python环境是2.7,而你写的代码环境是python3。你要在python2下执行是不成功的。
我没测试你的代码,因为时间的原因(主要是你的代码太乱,太糟糕!让回答者花不必要的时间去做不必要的思考。)
以下是我给你的一些参考,比如,按你的思路去做的话(定义一个函数,功能是先把字符串转换为list,然后join起来,再把反转好的字符串输出到屏幕上。)。代码我们可以这样写:
python3.6环境下#因代码中有f-string格式,所以至少要python3.6环境
#定义函数reverseStrtxt
def reverseStrtxt(strtxt):
newStrtxt =[] #初始化空列表
index = len(strtxt) #返回strtxt的项目数
while index:
index -= 1 #index=index-1
newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]
return f'{"".join(newStrtxt)}' #返回反转后的字符串
if __name__=='__main__':
strtxt='hello,how are you ? Fine.'
print(reverseStrtxt(strtxt))
python2环境下#可运行在python2环境下
#定义函数reverseStrtxt
def reverseStrtxt(strtxt):
newStrtxt =[] #初始化空列表
index = len(strtxt) #返回strtxt的项目数
while index:
index -= 1 #index=index-1
newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]
return "".join(newStrtxt) #返回反转后的字符串
if __name__=='__main__':
strtxt='hello,how are you ? Fine.'
print reverseStrtxt(strtxt)
我们把以上代码优化下:
python3环境#可运行在python3环境下
#定义函数reverseStrtxt
def reverseStrtxt(strtxt):
newStrtxt = '' #初始化空字符串
index = len(strtxt) #返回strtxt的项目数
while index:
index -= 1 #index=index-1
newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]
return newStrtxt #返回反转后的字符串
if __name__=='__main__':
strtxt='hello,how are you ? Fine.'
print(reverseStrtxt(strtxt))
python2环境#可运行在python2环境下
#定义函数reverseStrtxt
def reverseStrtxt(strtxt):
newStrtxt = '' #初始化空字符串
index = len(strtxt) #返回strtxt的项目数
while index:
index -= 1 #index=index-1
newStrtxt += strtxt[index] #newStrtxt=newStrtxt+strtxt[index]
return newStrtxt #返回反转后的字符串
if __name__=='__main__':
strtxt='hello,how are you ? Fine.'
print reverseStrtxt(strtxt)
或
我们还可以更简单#用切片的速度最快
txtstr='hello, how are you ? Fine . '
str_lst=list(txtstr)
print(''.join(str_lst[::-1]))print('hello, how are you ? Fine . '[::-1])
要反转字符串的方法很多,但个人建议用切片,速度最快,而且代码简洁,易读。
其实python在这方面是很灵活的。
纯手工,如果对你有帮助,望采纳!