重複箇所を修正するためのリファクタリング
「終了」の確認部分を共通化するために、check_exit(input_value)
という関数を作成します。この関数は、入力が「終了」であるかを判定し、「終了」であれば True
を返します。メインのコードでは、この関数を使って「終了」の確認を行い、共通化された形にリファクタリングします。
はじめに
HI Engineer Collegeでは、実務未経験のエンジニアの方や、エンジニアに興味がある方を募集したおります、まずはお気軽にお問い合わせください。
※ (株)G&T(【内々定まで最短2週間】ゼロからしっかりじっくり研修☆20代活躍中!)
https://qiita.com/embed-contents/link-card#qiita-embed-content__3ec12c22a2ecec52ef892e4995104eb8
※ HI Engineer Collegeに興味あがある方はこちら(プログラミングを学習したい方)
https://qiita.com/embed-contents/link-card#qiita-embed-content__ec2b47ad6b08281e7c8c9275262029c9
エンジニア向けチャットルーム「TechTalk」参加者募集中!
プログラミングやITの話題を気軽に共有し、学び合えるエンジニアのためのチャットルーム「TechTalk」では、新たな参加者を募集中です!
こんな方にオススメです
- 最新技術の動向やトレンドを追いかけたい
- 日々の開発で生じる疑問を他のエンジニアに相談したい
- コードレビューの方法やデバッグのコツを知りたい
- 他のエンジニアと共に成長できる場を探している
チャットルームで扱う主なトピック
- プログラミング: JavaScript、Python、Javaなど、言語やフレームワークについて
- 開発ツール: Git、Docker、CI/CD の自動化など
- キャリア: 転職やキャリアパス、業界動向
- AI/機械学習: モデルの開発やトレンド
- Webセキュリティ: セキュリティ対策や最新の脅威情報
チャットルームの特徴
- 他のエンジニアからリアルタイムでフィードバックがもらえます
- 勉強会やハンズオンセッションも定期開催
- 初心者から上級者まで、幅広いレベルのエンジニアが在籍
- リモートワーク時のちょっとした相談や雑談も大歓迎
参加方法
下記リンクから「TechTalk」へぜひご参加ください。
リファクタリング後のコード
def check_exit(input_value):
"""入力が「終了」であれば True を返し、プログラムを終了するメッセージを表示"""
if input_value == "終了":
print("プログラムを終了します。")
return True
return False
while True:
# ユーザーに縦の長さを入力してもらう
height_input = input("長方形の縦の長さを入力してください(例: 5.0)または「終了」と入力して終了: ")
# 終了の確認
if check_exit(height_input):
break
# ユーザーに横の長さを入力してもらう
width_input = input("長方形の横の長さを入力してください(例: 3.0): ")
# 終了の確認
if check_exit(width_input):
break
try:
# 入力された値をfloatに変換
height = float(height_input)
width = float(width_input)
# 面積を計算
area = height * width
# 面積を表示する
print(f"長方形の面積は {area} です。")
# 面積が50以上かどうかを判断
if area >= 50:
print("大きい長方形です")
else:
print("小さい長方形です")
except ValueError:
# 数字以外が入力された場合
print("エラー: 数字を入力してください。")
変更点と説明
check_exit
関数の作成:- この関数は引数として
input_value
を受け取り、もしinput_value
が「終了」であれば、終了メッセージを表示しTrue
を返します。 False
が返された場合は、処理を続けます。
- この関数は引数として
- 共通化によるリファクタリング:
height_input
とwidth_input
の両方でcheck_exit
関数を使うことで、同じ「終了」の確認コードを繰り返す必要がなくなり、可読性が向上しました。