Python勉強30分 計3時間
今日も1日お疲れ様です!あー木曜日もおわった〜!
今週は土日に静岡の油田に行こうかとおもってます🥰楽しみ〜😀
Python基礎文法その5|input関数と型変換を理解しよう
今回は 「ユーザーから入力を受け取る方法」 と、Python初心者がかなりの確率で引っかかるらしい(本当か?)「inputで入力した数字が計算できない問題」 を解説していく〜!
Pythonでは、キーボードから入力を受け取るときに input() を使うらしい!
ただし、ここには超大事なポイントがあります。
inputで受け取った値は、全部「文字列」になる
これを理解できると、一気にPythonがわかりやすくなるらしい
input関数を使ってみよう
まずはユーザーに数字を入力してもらう
number = input("数字を入力してください:")
print(number)
たとえば 5 を入力すると、
5
と表示されるよ
ここまでは普通!
入力した数字を2倍にしてみよう
では次に、入力した数字を2倍にしてみるよ!
number = input("数字を入力してください:")
print(number * 2)
5 を入力すると…
55
あれ!?
10 になると思ったのに、55 になっちゃった!
これはなんでだろう?
原因は「文字列」になっているから!
実は input() で受け取った値は、数字を入力しても 文字列(str型) として扱われるんだ!
Pythonでは、データの種類のことを データ型 って呼ぶ
たとえば:
"こんにちは"→ 文字列100→ 数値3.14→ 小数
って感じ〜
typeで確認してみよう
本当に文字列になっているのか確認してみる
number = input("数字を入力してください:")
print(type(number))
実行結果:
<class 'str'>
って表示される!
<class 'str'> の意味をわかりやすく説明
初心者だとこの表示、かなり意味不明
でもシンプルに考えてOK
<class 'str'>
これは、
「このデータは str型(文字列型)ですよ」
って意味
strって何?
str は string(ストリング) の略
つまり、
"こんにちは"
"Python"
"123"
みたいな 文字のデータ のこと!
ここで超大事なのが、
"123"
これは見た目は数字っぽいけど、Pythonからすると「文字」らしい
だから「55」になっていた
Pythonでは文字列に * 2 をすると、
「文字を2回繰り返す」
って意味になる
print("5" * 2)
実行結果:
55
つまり最初のコードは、
"5" * 2
として処理されていたってこと
数値として扱いたいなら int を使おう
では、本当に計算したい場合はどうすればいいのかな?
答えは int() を使う
number = int(input("数字を入力してください:"))
print(number * 2)
5 を入力すると、
10
になった!
ちゃんと計算できた〜!
intって何?
int は integer(インテジャー) の略
意味は、
整数型
整数っていうのは、
1
50
100
-3
みたいな 小数点のない数字 のこと〜
でも int は小数に使えない
ここで注意ポイント!
もし、
3.14
みたいな小数を入力すると…
ValueError
っていうエラーが出る
ValueErrorって何?
簡単にいうと、
「その値は変換できません」
っていうエラー
int() は整数専用だから、
3.14
みたいな小数は変換できない
小数を扱うなら float を使おう
小数を扱いたい場合は float() を使う
number = float(input("数字を入力してください:"))
print(number * 2)
3.14 を入力すると、
6.28
になる
floatって何?
float は floating point number の略!
日本語だと:
浮動小数点数
って呼ばれる・・・らしい・・・
…って言われても難しい・・・
初心者のうちは、
「小数を扱える数値型なんだな〜」
くらいで〜
inputを使うときの超重要ポイント!
初心者向けに超シンプルにまとめるよ!
| やりたいこと | 使うもの |
|---|---|
| 文字として使う | input() |
| 整数として計算したい | int(input()) |
| 小数として計算したい | float(input()) |
よく使う形
文字列入力
name = input("名前を入力してください:")
print(name)
整数入力
number = int(input("数字を入力してください:"))
print(number * 2)
小数入力
number = float(input("小数を入力してください:"))
print(number * 2)
これも知っておくと便利
inputの中の文字は「説明文」
input("数字を入力してください:")
この文字は、ユーザーへの案内メッセージなんだ!
好きな文章を書けるよ!
スペースも文字列として扱われる!
たとえば:
text = input("入力してください:")
で、
hello world
と入力したら、スペース込みで文字列になる
エラーが出ても焦らなくてOK!
Python初心者はエラーが出るのが普通
特に input() と型変換は、かなり多くの人が最初につまずくポイントらしい〜
大事なのは、
- 今どんなデータ型なのか?
- 文字列なのか?
- 数値なのか?
を意識すること、
type() を使うと確認できるから、困ったら試そう〜
まとめ
今回のポイントをまとめ
input()で受け取った値は全部文字列- 文字列は
str type()で型を確認できる- 文字列に
* 2をすると繰り返しになる - 数値計算したいなら型変換する
- 整数は
int() - 小数は
float()
input() と型変換は、Pythonでユーザーとやり取りするための超重要な基礎だって!
ここを理解できると、作れるプログラムの幅が一気に広がるらしい〜
ってな感じでちょっと意味がわからない単語がでてきて頭にはいらなくなったんだけど
浮動小数点数・・・w
あんま難しく考えないようにしたよw
そんな感じで今週も残り1日だ〜〜〜!!!わ〜い!
明日も1日がんばりまっしょい。おやすみ〜!



コメント