Python転職初心者向けエンジニアリングブログ

Pythonに魅了されたあなたへ。エンジニアリングの扉を開く転職初心者向けのブログへようこそ。このブログでは、Pythonの奥深さに迫りながら、エンジニアリングへの転職に役立つ情報を提供しています。未経験者から始めるPythonエンジニアリングの世界への一歩を踏み出すためのガイダンス、ベストプラクティス、そして成功事例など、初心者の方でもわかりやすいコンテンツをお届けします。

1から9までの整数をユーザーから入力させ、その入力値以外の整数を表示するプログラム

LYPプレミアム会員 python

Pythonは非常に多様な用途に使えるプログラミング言語であり、特に初心者にとって扱いやすい特徴を持っています。今回は、1から9までの整数をユーザーから入力させ、その入力値以外の整数を表示するプログラムを作成します。この記事では、コードの具体的な説明とともに、実行結果を示しながら詳しく解説します。

プログラムの概要

このプログラムの目的は、ユーザーから整数を入力させ、その数以外の1から9までの整数を表示することです。例えば、ユーザーが「5」と入力した場合、出力は「1, 2, 3, 4, 6, 7, 8, 9」となります。以下に、このプログラムを実現するためのステップを示します。

ステップ1: ユーザーからの入力を受け取る

Pythonでユーザーからの入力を受け取るには、input()関数を使用します。これにより、ユーザーがコンソールに入力したデータを取得できます。入力は常に文字列として取得されるため、整数に変換する必要があります。具体的には、次のように記述します。

# ユーザーから整数を入力
user_input = input("1から9までの整数を入力してください: ")

# 文字列を整数に変換
number = int(user_input)

このコードでは、最初にinput()関数を使用してユーザーからの入力を受け取り、その後int()関数で文字列を整数に変換しています。

ステップ2: 1から9までの整数を表示する

次に、1から9までの整数を表示するロジックを作成します。ここでは、リストを使用して1から9までの整数を保持し、ユーザーが入力した値を除外する方法を取ります。

以下のコードでは、リスト内包表記を使用して簡潔に書いています。

# 1から9までの整数をリストに格納
all_numbers = list(range(1, 10))

# 入力値以外の整数を取得
excluded_numbers = [num for num in all_numbers if num != number]

このコードでは、range(1, 10)を使って1から9までの整数のリストを生成し、リスト内包表記で入力値以外の整数を抽出しています。

ステップ3: 結果を表示する

最後に、結果を表示するためにprint()関数を使用します。以下のように、除外された整数のリストを表示します。

# 結果を表示
print(f"入力した整数以外の数: {excluded_numbers}")

全体のコード

ここまでの説明をもとに、全体のプログラムは次のようになります。

# ユーザーから整数を入力
user_input = input("1から9までの整数を入力してください: ")

# 文字列を整数に変換
number = int(user_input)

# 1から9までの整数をリストに格納
all_numbers = list(range(1, 10))

# 入力値以外の整数を取得
excluded_numbers = [num for num in all_numbers if num != number]

# 結果を表示
print(f"入力した整数以外の数: {excluded_numbers}")

プログラムの実行結果

このプログラムを実行して、さまざまな入力値に対する出力結果を確認してみましょう。たとえば、次のような実行結果が得られます。

実行例1

1から9までの整数を入力してください: 5
入力した整数以外の数: [1, 2, 3, 4, 6, 7, 8, 9]

実行例2

1から9までの整数を入力してください: 2
入力した整数以外の数: [1, 3, 4, 5, 6, 7, 8, 9]

実行例3

1から9までの整数を入力してください: 9
入力した整数以外の数: [1, 2, 3, 4, 5, 6, 7, 8]

コードの改善点

上記のプログラムは基本的な機能を満たしていますが、いくつかの改善点が考えられます。

  1. 入力値の検証: ユーザーが1から9以外の整数を入力した場合、エラーメッセージを表示するようにすることで、ユーザー体験を向上させることができます。
   if number < 1 or number > 9:
       print("1から9までの整数を入力してください。")
  1. ループ処理: ユーザーが有効な入力をするまで再入力を促すループを追加することで、よりユーザーフレンドリーなプログラムにすることができます。
   while True:
       user_input = input("1から9までの整数を入力してください: ")
       number = int(user_input)

       if 1 <= number <= 9:
           break
       else:
           print("無効な入力です。")

改良版コード全体

改善を加えたコード全体は以下のようになります。

# ユーザーからの入力を受け取るループ
while True:
    user_input = input("1から9までの整数を入力してください: ")

    try:
        # 文字列を整数に変換
        number = int(user_input)
        
        # 入力値の検証
        if 1 <= number <= 9:
            break
        else:
            print("無効な入力です。1から9までの整数を入力してください。")
    except ValueError:
        print("無効な入力です。整数を入力してください。")

# 1から9までの整数をリストに格納
all_numbers = list(range(1, 10))

# 入力値以外の整数を取得
excluded_numbers = [num for num in all_numbers if num != number]

# 結果を表示
print(f"入力した整数以外の数: {excluded_numbers}")

結果の例

この改良版コードを実行すると、ユーザーが無効な入力をした場合にエラーメッセージが表示され、正しい入力をするまで繰り返し入力を促されます。

1から9までの整数を入力してください: 10
無効な入力です。1から9までの整数を入力してください。
1から9までの整数を入力してください: 5
入力した整数以外の数: [1, 2, 3, 4, 6, 7, 8, 9]

まとめ

この記事では、Pythonを使用して1から9までの整数を入力させ、その整数以外の数を表示するプログラムを作成しました。基本的な入力と出力の流れを理解し、さらに改善点を加えることで、より実用的なプログラムに仕上げることができました。プログラミングは試行錯誤が重要ですので、実際に手を動かしながら、さまざまなバリエーションを試してみることをお勧めします。Pythonの楽しさを体験しながら、プログラミングスキルを向上させていきましょう。