[簡単2行]キーボード入力した値を受け取る方法[Python]

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

キーボード入力した値をシステムに反映させたいんだ…。
ロールプレイングゲームで、入力した主人公の名前を反映させるみたいに
Pythonでも入力した値を反映させる方法は無いの?

今の自分
今の自分

あります!
簡単にできる方法を紹介いたします!
実践でよくある
入力した認証」「入力した値を書き込む」「入力した値で計算」
といった方法も併せて解説いたします!

Pythonでキーボード入力した値を受け取る方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

Pythonでキーボード入力した値を受け取るには

「input」を使います。まずは実行見本をどうぞ。

実行見本

実行見本

※表示内容はエディターによって異なります。

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

name = input('名前を入力してください')
print('よくぞ来た!勇者'+name+'殿!')

解説:キーボード入力した値を受け取る

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

>>1.name = input(‘名前を入力してください’)

上記一文でキーボード入力した値を受け取る(変数「name」に保存する)ことができます。

【 変数 = input(‘何を入力すべきかの補足説明’) 】

()内の補足説明は無くても動きますが、何かしらの説明があった方が親切かと思います。

実行時は下図のように入力画面が表示されます。

実行見本

名前を入力して、「enter」キーを押します。

下図のように表示されれば、受け取り成功です。

>>2.print(‘よくぞ来た!勇者’+name+’殿!’)

キーボード入力で受け取った「name」「print」で表示しています。

スポンサードリンク

実践例

ここからは、実践でよくある使い方を3つ紹介いたします。

  • 認証
  • 書き込み
  • 計算

できるだけ簡単なコードにしております。ご了承ください。
また、前項と同じくわかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

1:認証

名前の認証だと思ってください。
キーボード入力された名前が登録と同じなら「認証しました」
違うなら「認証に失敗しました」
と表示させるコードです。

「認証」の全コード・実行結果

name = input('名前を入力してください')
if name == 'utatane' :
    print('認証しました')
else:
    print('認証に失敗しました')
実行結果
実行結果
実行結果

「認証」の解説

「input」で値を受け取ったら、登録の名前と照合します。
照合には「if」を使います(簡単に解説)
入力されて受け取った「name」が、登録の名前「utatane」と同じなら「認証しました」、違う(else)なら「認証に失敗しました」と表示させます。

2:書き込み

「キーボード入力された名前をエクセルのシートに書き込む」というコードです。

「書き込み」の全コード・実行結果

import openpyxl

name = input('名前を入力してください')

wb = openpyxl.workbook()
ws = wb.active

ws['A1'] = name

wb.save('output.xlsx')

▼「output.xlsx」

「書き込み」の解説

キーボード入力された文字を「openpyxl」で新しく作ったブックのシートに書き込みします。

openpyxlの基礎解説や、新しいブックの作り方解説は下記記事をご参考ください。

3:計算

キーボード入力された値で計算するには、少し工夫が必要です。
まずはコードと実行結果を見ていきましょう。

「計算」の全コード・実行結果

price = input('金額を入力してください')
qty = input('個数を入力してください')

ttl = int(price) * int(qty)

print(str(ttl) + '円です')

「計算」の解説

入力された金額を「price」個数を「qty」に入れます。
合計金額「ttl」を出すため計算するのですが、このままでは計算できません。

キーボード入力された値は「str型(文字列型)」なの計算できないのです。
というわけで、計算できる「int型(整数型)」に変換しています。

わかりやすく説明すると、
「int型は英語」、「str型は日本語」という感じでしょうか。
str型(日本語)の「1000」は、見た目では「1000」ですが、
内部的には漢字の「千」になっていると思ってください。
「千」×「五」。ちょっと計算しにくいですね。
「三千四百十二 × 二」だと、もはや計算できないですよね(3412×2)
なのでstr型(日本語の漢字)では計算できないのでint型(英語)に直していると思ってください。

printで表示させるために、「ttl」をまたstr型に戻しています。
これは、それぞれの「型」を合わせるためです。
この時、「ttl」はint型、その後ろに表示させる「円」はstr型です。
int型とstr型など、型が違うものを結合して表示することはできません。
なのでint型をstr型に変換して、型を合わせて表示させています。
(str型をint型に変換することはできません)

わかりやすく説明すると、
「int型(英語)とstr型(日本語)は並べて単語にできない」というように考えてください。
「5右衛門」「34郎」「純1」だとちょっと分かりにくいですよね。
なので、int型(英語)とstr型(日本語)は結合できない(通じないから)と思ってください。

スポンサードリンク

うまく動作しない時

エラーが出る

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

TypeError: can’t multiply sequence by non-int of type ‘str’

「str型は計算できません」というエラーです。

今回解説した「実践例-3」のように、int型に変換してから計算してみてください。

TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’

「int型とstr型は結合できません」というエラーです。

今回解説した「実践例-3」のように、int型のものをstr型に変換してから結合してみてください。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

まとめ

Pythonでキーボード入力した値を受け取る方法を解説いたしました。

入力した名前の商品のみを抽出したり、入力した金額以下の商品をピックアップしたりもできるので、ぜひご活用ください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとう

タイトルとURLをコピーしました