私は次のPythonコードを持っています。これは文字列を循環し、各文字を大文字にします。
str = 'abcd'
l = list(str)
for i in range(len(l)):
rl = list(str)
cap_char = l[i].capitalize()
rl[i] = cap_char
str1 = ''.join(rl)
print str1
生成するもの:
Abcd aBcd abCd abcD
このコードを拡張して、大文字と小文字を区別する連続する文字の数をlen(l)-1に達するまでインクリメントして、次のようにします。
Abcd aBcd abCd abcD >> - 1 char capitalized
ABcd aBCd abCD AbcD >> - 2 chars capitalized
ABCd aBCD AbCD ABcD >> - 3 chars capitalized
インデックス演算を実行すると、「インデックスが範囲外」エラーが発生します。idicesはラップする必要があることを理解していますが、エレガントなコードを生成できないようです;(