Python課題―指定範囲だけ大文字(paizaランク C 相当)

大文字に変換するところがs[i]=s[i].upperとしてエラーが出るので仕方なく変換しないのでそのまま大文字で表示用にしたのだが、これであっているのだろうか?いや点数こそ100点だがなんとも首をかしげながらの課題となった。

# coding: utf-8
a,b = (int(x) for x in input().split())
s = input()
nagasa = len(s)
for i in range(nagasa):
    if i >= a-1 and i <= b-1:
        print(s[i].upper(),end='')
    else:
        print(s[i],end='')