Pythonの入力と出力を学ぼう!print()関数とinput()関数の使い方
生徒
「Pythonで、パソコンに文字を表示したり、自分で入力したりできるんですか?」
先生
「もちろんできるよ!文字を表示するのはprint()、入力を受け取るのはinput()という関数を使うんだ。」
生徒
「関数ってなんですか?printって印刷って意味ですよね?」
先生
「いい質問だね。関数は『何かをしてくれる命令』のこと。print()は、画面に文字や数字を出す命令だよ。じゃあ、今回はこの2つの関数の使い方を一緒に学んでいこう!」
1. 出力するにはprint()関数を使おう
Pythonでプログラミングを始めたら、まず最初に覚えるのがprint()(プリント)関数です。これは「指定した内容を画面に表示してね!」という命令で、プログラムが正しく動いているか確認するためにも欠かせません。
使い方はとても簡単です。画面に出したい文字を " "(ダブルクォーテーション)で囲んで、print() のカッコの中に入れるだけです。
たとえば、挨拶を表示する場合はこのように書きます:
print("こんにちは、Python!")
print("プログラミングの世界へようこそ")
実行結果:
こんにちは、Python!
プログラミングの世界へようこそ
この " " で囲まれた部分は、プログラミング用語で「文字列(もじれつ)」と呼ばれます。もしダブルクォーテーションを忘れてしまうと、Pythonは「これは文字かな?それとも変数(データを入れる箱)かな?」と迷ってエラーになってしまうので注意しましょう。
また、print()は一度に複数の内容を表示することもできます。文字の後に続けて何かを書きたいときは、さらに次の行で print() を使うのが一番シンプルで分かりやすい方法です。
【ポイント】
・文字を表示するときは " "(または ' ')で囲む。
・カッコ内の内容がそのまま画面に出力される。
・1つの print() ごとに、自動で改行して表示される。
2. 計算結果を表示することもできる
print()関数は、ただ文字を映し出すだけではありません。実は、カッコの中に計算式を入れるだけで、プログラミング言語特有の強力な「計算機能」の結果を画面に表示することができます。
まずは、一番シンプルな足し算のサンプルプログラムを見てみましょう。
print(5 + 3)
print(10 - 4)
実行結果:
8
6
ここで重要なポイントは、「数字を表示するときは " "(ダブルクォーテーション)で囲まない」ということです。もし print("5 + 3") と書いてしまうと、Pythonはそれを「計算式」ではなく、ただの「文字」として受け取ってしまうため、画面にはそのまま 5 + 3 と表示されてしまいます。
足し算 + や引き算 - 以外にも、掛け算 *(アスタリスク)や割り算 /(スラッシュ)なども同じように表示できます。プログラムの中で計算結果をパッと確認したいときに、この使い方は非常に便利です。文字だけでなく「数字や計算結果」も自由自在に扱えるようになりましょう!
3. 双方向のやりとりが可能に!input()関数でユーザーの入力を受け取ろう
これまではプログラムが一方的に結果を表示するだけでしたが、input()(インプット)関数を使えば、ユーザーがキーボードから打ち込んだ言葉をプログラムに取り込むことができます。これにより、使う人によって結果が変わる「インタラクティブ(対話型)」なプログラムが作れるようになります。
使い方は簡単で、input("表示したいメッセージ") と書くだけです。ユーザーが文字を入力してEnterキーを押すと、その内容をプログラムの中で使えるようになります。多くの場合、入力された内容を後で使うために「変数(データを入れておく箱)」に代入して使います。
それでは、名前を聞いて挨拶してくれる簡単なプログラムを書いてみましょう:
# ユーザーに名前を尋ねて、変数 name に保存する
name = input("あなたの名前を教えてください:")
# 入力された名前を使って挨拶を表示する
print("こんにちは、" + name + "さん!Pythonの世界へようこそ。")
実行結果(「たろう」と入力した場合):
あなたの名前を教えてください:たろう
こんにちは、たろうさん!Pythonの世界へようこそ。
このプログラムを実行すると、まず「あなたの名前を教えてください:」というメッセージが出て、パソコンがあなたの入力を待っている状態(入力待ち)になります。そこで名前を打ち込むと、その後の print() 関数で、入力した名前が組み込まれたメッセージが表示されます。
このように input() 関数は、アンケートフォームのようにユーザーの情報を取得したり、クイズの回答を受け取ったりする際に非常に重要な役割を果たします。まるでプログラムと会話しているような感覚になれるのが、Python学習の大きな楽しみの一つです。
4. 【重要】input()で入力した値はすべて「文字列」になる
input()関数を使う際に、初心者が最もつまずきやすいポイントがあります。それは、「キーボードから数字を打ち込んでも、Pythonはそれを数字ではなく『文字(文字列)』として受け取ってしまう」という点です。
例えば、年齢を入力してもらい、そこに5を足して「5年後の年齢」を表示しようとする、次のようなプログラムを見てみましょう。
# ユーザーに年齢を入力してもらう
age = input("あなたの年齢を入力してください:")
# 入力された値に 5 を足そうとすると…
print(age + 5)
このコードを実行して数字を入力すると、実はTypeError(タイプエラー)というエラーが発生して止まってしまいます。Pythonにとって、ageの中身は「20」という数値ではなく、あいうえお等と同じ「"20"」という文字なので、計算ができないのです。
この問題を解決するには、受け取った文字を「整数(数値)」に変換してあげる必要があります。ここで登場するのが int() という関数です。これを使うことで、文字としての「10」を、計算ができる数字の「10」に作り変えることができます。
正しく計算ができるコードに修正してみましょう:
# 1. ユーザーから入力を受け取る(この時点では「文字」)
age_str = input("年齢を入力してください:")
# 2. int() を使って「文字」から「整数(数値)」に変換する
age_num = int(age_str)
# 3. 数値になったので、足し算ができるようになる!
print(age_num + 5)
実行結果:
年齢を入力してください:10
15
このように、「外部からの入力はまずは文字として届く」という性質を覚えておきましょう。計算をしたいときは int() で変換する、という流れをセットで覚えておくと、プログラムの幅がぐっと広がりますよ!
5. 複数の値を表示したいときのコツ
print()で、文字と数字をいっしょに表示したいときは、カンマで区切ると便利です。
score = 90
print("あなたの点数は", score, "点です")
あなたの点数は 90 点です
このように、+でつなぐときはすべて文字列にしないといけませんが、カンマを使うと自動で間をあけて表示してくれます。
6. ちょっとした会話プログラムを作ってみよう
ここまで学んだことを使って、ちょっとした会話のようなプログラムを作ってみましょう。
name = input("あなたの名前は?:")
food = input("好きな食べ物は?:")
print(name + "さんは、" + food + "が好きなんですね!")
あなたの名前は?:さくら
好きな食べ物は?:ラーメン
さくらさんは、ラーメンが好きなんですね!
このように、input()とprint()を使えば、入力と出力を組み合わせたプログラムが作れます。
7. input()とprint()を使うと、Pythonがもっと楽しくなる!
プログラムで入力と出力ができるようになると、ちょっとした質問アプリや計算ツールなど、いろんなことができるようになります。
特に、はじめてPythonを学ぶときには、print()で結果をすぐに見て、input()で自分の好きな値を入れられるのが楽しいポイントです。
最初のうちは、名前を聞いたり、計算したりする簡単なプログラムから試してみましょう。だんだん慣れてきたら、もっと複雑なやりとりも作れるようになります。
まとめ
Pythonで学ぶ入力と出力の仕組みは、プログラムの基本となる大切な要素です。画面に文章や計算結果を表示するprint()関数、そしてユーザーから自由な値を受け取るinput()関数は、どちらも学習の初期段階でしっかり理解しておきたい大事な役割を持っています。特に、文字列と数値の扱い方の違いや、ユーザーが入力した値が必ず文字列として扱われるという特徴は、プログラムを作る際に意識しておくべき基本中の基本です。文字列をそのまま結合したいとき、数値に変換して計算したいとき、複数の値を自然な形で表示したいときなど、それぞれの場面で適切な書き方を選ぶことが大切になります。
また、print()とinput()を使いこなすことで、会話風のやり取りや質問形式のツールを作ることができ、学習の楽しさも広がります。少しの工夫で自分だけの対話型プログラムを作れるため、初心者にとっても非常に取り組みやすい分野です。入力と出力の関係を理解することは、Pythonのさまざまな処理をスムーズに学んでいくための基盤となり、より高度なプログラミングへとつながっていく重要な第一歩になります。
入力と出力を組み合わせたサンプルプログラム
print("ようこそ!かんたん自己紹介プログラムへ")
name = input("あなたの名前を入力してください:")
hobby = input("あなたの趣味を教えてください:")
year = input("今年の目標を数字で教えてください:")
year = int(year)
print("---------- 結果 ----------")
print(name + "さんの趣味は", hobby, "なんですね。")
print("今年の目標は", year, "ということで、とてもすばらしい目標ですね!")
このサンプルでは、文字列として受け取った値と、数値として扱いたい値をしっかり分けて処理しています。input()で受け取った文字列をint()で変換することで計算や数値の比較ができるようになり、より複雑なプログラムへの発展が期待できます。さらに、print()で複数の値を並べたい場合はカンマ区切りで表示することで、自然な文章の形で画面に出力できます。入力と出力を組み合わせることで、ユーザーと双方向のやり取りができるため、実践的なプログラム作りの良い練習にもなります。慣れてくると質問アプリ、計算ツール、占い風のプログラムなど、遊びながら学べる作品を自分で自由に作りだせるようになります。
生徒
「printとinputの使い方がだんだんわかってきました。文字を出すだけじゃなくて、計算結果も表示できるのがとても便利ですね!」
先生
「そうですね。出力が自由にできるようになると、プログラムで何が起きているかがすぐ確認できるので学習も進みやすくなりますよ。」
生徒
「入力した数字が文字列として扱われるところは少しびっくりしました。でもintで変換できると知って納得しました!」
先生
「その理解は大事です。数字として計算したいときは必ず変換するという癖をつけると、エラーを減らすことができます。」
生徒
「printでカンマを使うと自動的に区切ってくれるのも便利ですね。文章を作りやすくなりそうです。」
先生
「その通り。printとinputの組み合わせは、Pythonを楽しくするとても有力な道具です。いろんな小さなプログラムを作って、ぜひ自分の力にしていってくださいね。」