Pythonで氏名のイニシャルを出力するプログラムの書き方を解説
氏名のイニシャル(頭文字)を表示するプログラムは、Pythonの組み込み関数を組み合わせることで簡単に実装できます。この記事では、split()、upper()、title()という3つの組み込み関数を使って、氏名を「イニシャル+苗字」の形式に変換する方法を解説します。
処理の流れ
基本的な処理の手順は以下のとおりです。
split()関数を使って、氏名の文字列を単語ごとのリストに分割します。- リストを最後から2番目の単語まで走査し、各単語の先頭文字を
upper()関数で大文字に変換します。 - 最後の単語(苗字にあたる部分)は、
title()関数を使って先頭のアルファベットを大文字にしたままそのまま追加します。
実行例
入力: Pradip Chandra Sarkar 出力: P.C Sarkar
アルゴリズム
fullname(str1) /* str1は氏名の文字列 */ ステップ1: 文字列をsplit()でリストに分割する ステップ2: 空の文字列newspaceを初期化する ステップ3: リストを最後から2番目の単語まで走査する ステップ4: upper()関数で先頭文字を大文字にして追加する ステップ5: リストの最後の要素を取得して追加する
サンプルコード
# 氏名のイニシャルを出力するPythonプログラム
def fullname(str1):
# 文字列をリストに分割する
lst = str1.split()
newspace = ""
# リストを走査する
for i in range(len(lst)-1):
str1 = lst[i]
# 先頭文字を大文字にして追加する
newspace += (str1[0].upper()+'.')
# l[-1]はリストlの最後の要素を返す
newspace += lst[-1].title()
return newspace
# ドライバーコード
str1=input("氏名を入力してください ::>")
print("氏名の短縮形は ::>",fullname(str1))
実行結果
氏名を入力してください ::>pradip chandra sarkar 氏名の短縮形は ::> P.C.Sarkar
このプログラムでは、ミドルネームにあたる部分の各単語の先頭文字だけを取り出して大文字化し、ピリオドで連結しています。最後の単語は苗字として完全な形で残すため、title()関数で先頭文字のみ大文字に変換しています。lst[-1]のように負のインデックスを使うことで、リストの最後の要素を簡単に取得できる点もPythonならではの便利な機能です。
-
PythonではじめるCGIプログラミング入門:初めてのCGIスクリプトの作成方法
ここでは、hello.pyという名前のCGIスクリプトへリンクするシンプルな例を紹介します。このファイルは /var/www/cgi-bin ディレクトリに配置されているものとします。CGIプログラムを実行する前に、UNIXコマンドのchmod 755 hello.pyを実行して、ファイルに実行権限を付与しておく必要がある点に注意してください。 サンプルコード #!/usr/bin/python print Content-type:text/html\r\n\r\n print <html> print <head> print <title>Hello
-
Pythonでリストの最初と最後の要素を交換する方法:4つのアプローチを徹底解説
はじめにこの記事では、リストの最初の要素と最後の要素を入れ替えるという問題に対する解決策を、4つの異なるアプローチで解説します。問題の定義与えられたリストに対して、最後の要素を最初の要素と入れ替える処理を実装します。例えば、[t, u, t, o, r, i, a, l] というリストが与えられた場合、実行後は [l, u, t, o, r, i, a, t] のように、先頭と末尾の要素が入れ替わります。それでは、以下の4つのアプローチを順番に見ていきましょう。アプローチ1:一時変数を使う基本的な方法最も基本的な方法です。リストの長さを取得し、一時変数(temp)を使って最初の要素と最後の要素