尝试解决我可以反转字符串中每个单词的问题,因为没有" \ 0"在python中,与C不同,我的逻辑是无法获取字符串的最后一个字符。 任何想法如何修复代码
没有太多的变化Input = This is an example
Output = sihT si na elpmaxe
import os
import string
a = "This is an example"
temp=[]
store=[]
print(a)
x=0
while (x <= len(a)-1):
if ((a[x] != " ") and (x != len(a)-1)):
temp.append(a[x])
x += 1
else:
temp.reverse()
store.extend(temp)
store.append(' ')
del temp[:]
x += 1
str1 = ''.join(store)
print (str1)
我的输出正在截断最后一个字符
sihT si na lpmaxe
答案 0 :(得分:2)
如x != len(a)-1
所示,您自己排除了最后一个角色。您无需检查temp
,以便可以在temp
字符串中添加最后一个字符。退出循环后可以添加的最后一个单词,它将包含在mysql2
变量中。这个提示只是为了让您的代码正常工作,否则您可以按照人们的建议以更短的方式在python中完成。
答案 1 :(得分:0)
您已删除-1
中的len(a)-1
并更改了and
中的顺序(因此,当x == len(a)
时,a[x]
将无法获得"index out of range"
while (x <= len(a)):
if (x != len(a)) and (a[x] != " "):
{1}})
import os
import string
a = "This is an example"
temp = []
store = []
print(a)
x = 0
while (x <= len(a)):
if (x != len(a)) and (a[x] != " "):
temp.append(a[x])
x += 1
else:
temp.reverse()
store.extend(temp)
store.append(' ')
del temp[:]
x += 1
str1 = ''.join(store)
print(str1)
适用于我的完整版
if [ "$a" = "b" ]
答案 2 :(得分:0)
这很简单,不需要额外的循环:
a = "This is an example"
print(a)
str1 = " ".join([word[::-1] for word in a.split(" ")])
print(str1)
输入和输出:
This is an example
sihT si na elpmaxe