ちゃりけんnote

趣味(ゲームなど)や仕事(IT系)のことについて

python- input()の型がわかっていないと陥る罠

f:id:grau1129:20181022172045p:plain

目的

returnを使った文を書く練習するために、ある三択の問題があることを前提に、ユーザーに1から3までの数字を入力してもらうという簡単なプログラムを作りたかった。

 

作ったコード

f:id:grau1129:20181102211056p:plain

これを実行すると、どんな数字を入力しても”無効です”が出力。

なのでおそらく型が違うんじゃないかということで、簡単な類似コードを書いて、type()で確認してみる。

f:id:grau1129:20181102212637p:plain

 

やはり、input()は文字列だとわかった。

よって問題のコードを訂正

 

解決法

f:id:grau1129:20181102212828p:plain

print以下をintにする

 

f:id:grau1129:20181102213110p:plain

if以下を文字列の数字にする

 

結言

このようなパターンのコードが実際の現場にあった場合どちらのほうが好まれるのか気になった。どちらにせよ、今回のようなことに気を付けなければプログラムが正常に動かないことが分かったので、気を付けたい。