問題
B – 名前の確認
回答
S = input() ans = S.capitalize() print(ans)
str.capitalize() というメソッドで、先頭の文字のみ大文字に変換できます。
組み込み関数のみで書く
解説のスライドに従い、組み込み関数のみを使います。
S = input()
# 文字の大小関係は文字コード表の順番により判定される。
# 文字コード表中で、アルファベットは連番。
def is_upper(c):
if c >= 'A' and c <= 'Z':
return True
return False
def is_lower(c):
if c >= 'a' and c < 'z':
return True
return False
# chr(i)Unicode コードポイントが整数 i である文字を表す文字列を返します。
# 1 文字の Unicode 文字を表す文字列に対し、
# その文字の Unicode コードポイントを表す整数を返します。
def make_upper(c):
if is_lower(c):
return chr(ord(c) + ord('A') - ord('a'))
return c
def make_lower(c):
if is_upper(c):
return chr(ord(c) + ord('a') - ord('A'))
return c
ans = ''
for i in range(len(S)):
if i == 0:
ans += make_upper(S[i])
continue
ans += make_lower(S[i])
print(ans)