完整问题:创建一个名为ChangeWords()的方法,将字符串中所有奇数编号单词转换为偶数单词,反之亦然,然后打印结果。要更改的字符串应作为参数传递给方法。例如,“现在是行动的时候了!”可以改为“现在是行动的时候了!”为此编写python代码和后续伪代码,其中字符串由用户通过键盘提供。输入:读取字符串输出: Changecase string (字符串中的所有奇数单词都为偶数词,反之亦然)边界:如果字符串为"None“或"NONE",则打印"NONE String”。
def ChangeWords(wr):
res=[]
w1=wr.split()
for index in range(len(w1)):
for j in w1:
if index%2==0:
res.append(j[index-1])
else:
res.append(j[index+1])
return ''.join(res)
str1=input()
if str1=="NONE"or str1=="none":
print("NONE String")
else:
print(ChangeWords(str1))为什么这个不行?我不明白为什么它显示的指数超出了范围。谁能解释一下。
s1=input()
l1=s1.split()
nl=[]
i=1
for item in l1:
if i%2==0:
nl.insert(i-1,l1[i])
else:
nl.insert(i+1,l1[i])
i+=1
print(nl)我在没有使用函数的情况下尝试了相同的程序,但是我想逻辑是一样的,因为我得到了相同的错误
发布于 2021-12-28 15:40:14
实际上,您是在循环字符串中给出的单词数,而不是每个子字符串中的字符数。假设您向函数ChangeWrods提供一个字符串"a b d“。您的索引将是0、1、2或3,但是单词只有一个字符长,因此只能由索引0访问。因此,您需要更改函数的逻辑,以遍历0到len(parsed_word)希望的范围,这有助于
https://stackoverflow.com/questions/70508570
复制相似问题