在Python中替换字符串中的奇数和偶数索引字符

时间:2015-07-07 15:15:23

标签: string

有人可以帮我解决python字符串吗?如何替换字符串中的偶数和奇数索引字母?我想用大写字母和偶数索引字符替换带有小写字母的奇数索引字符。

x=input("Enter String: ")

如何修改输入的字符串?

4 个答案:

答案 0 :(得分:3)

这听起来有点像“为我做功课”的帖子,但我会帮助你,因为我自己需要接受培训。

你可以通过解决问题来做到这一点。 (因为我对python语法很新,我假设用户已经输入了字符串x)

  1. 制作一个循环,或以其他方式遍历字符串中的字符
  2. 确保每个字符都有一个索引号,每个字符都会增加一个
  3. 使用2的模数(%2)检查数字是否均匀。这将返回除以2时数字的余数。对于偶数,则为0。
  4. 如果%2 == 0将字母设置为小写,则将字母设置为大写。
  5. 将字母附加到您在循环之前定义的新String。您不能直接更改String中的单个字符,因为它们是不可变的。这意味着您无法更改String本身,但可以为变量分配新的String。
  6. 完成。打印并查看它是否有效。
  7. 代码:

    x = "seMi Long StRing WiTH COMPLetely RaNDOM CasINg"
    result_string = ""
    index = 0;
    for c in x:
        if(index%2 == 0):
            result_string += c.lower()
        else:
            result_string += c.upper()
        index+=1
    
    print(result_string)
    

答案 1 :(得分:0)

s=input()
l=[]
s=s.lower()
l=[i.upper() if s.index(i)%2==0 else i for i in s ]
print("".join(l))

答案 2 :(得分:0)

def myfunc(string):
    result=''
    for x in range(len(string)):
        if x%2==0:
            result=result+string[x].upper() 
        else:
            result=result+string[x].lower()
    return result

以上是针对您所提出问题的功能。

非功能性的for循环现在可能更容易掌握(就像您对Python也是一个新手一样。所以对我来说,在进入功能之前,更容易理解for循环。请看我的下一篇文章一样。

答案 3 :(得分:0)

x = 'myname'
for item in range(len(x)):
    if item%2==0:
       print(x[item].upper())
    else:
       print(x[item].lower())

这是我所指的for循环。但是这行代码的问题在于,它特定于您分配给变量x的值,而上面提供的函数可以接受任何字符串值,而无需我们每次都重复代码。