【Pythonエンジニア認定基礎試験】プログラミング超初心者、模試の復習をする④

f:id:bunkei_it:20201030200601j:plain

Pythonエンジニア認定基礎試験模試の復習

 Pythonエンジニア認定基礎試験の模試、DIVE INTO EXAM の復習。

 わからなかった問題の中から、特にこれはアウトプットしておきたい! と思ったものについて書いていく。

 

.format( )

文字のイメージ画像

次のprint文のうち、「こんにちは!山田さん」と出力される記述はどれかを選びなさい。
 
 print(‘こんにちは!()さん’, ‘山田’)
 
 print(‘こんにちは!()さん’+’山田’)
 
 print(‘こんにちは!{}さん’.format(‘山田’))
 
 print(‘こんにちは!{}さん’, ‘山田’)

 正解: print(‘こんにちは!{}さん’.format(‘山田’))

 私の回答:print(‘こんにちは!()さん’, ‘山田’)

 

 文字列に { } を埋め込む。

 { }の中に、.format( )の引数(つまり( )の中に書いた値や文字列)が入る。

 

 .format( )を使うにあたっては、まずこれを覚えておけば良いのでしょう。

 

 .format( )について知っていたら絶対に間違えない問題。

 案の定、私はよくわかっていなかったので、全く自信がないまま回答し、間違える。笑

 とりあえず、2番目の選択肢ではない、ということだけわかって、他は??だった。

  

 ちなみに、間違っている選択肢をターミナルで実行したところ、以下の結果になった。

 

 print(‘こんにちは!()さん’, ‘山田’)

 ▶︎SyntaxError

 print(‘こんにちは!()さん’+’山田’)

 ▶︎こんにちは!()さん山田

 print(‘こんにちは!{}さん’, ‘山田’)

 ▶︎SyntaxError

 

ターミナルで出力した結果の画像

ターミナルで出力した結果

 「SyntaxError」つまり、構文エラー。

 理由は「invalid character in identifier」。

 つまり、「書いた中に無効な文字が含まれてるよ〜」というもの。

 なるほどねえ。

 

 .format( ) について、わかりやすくまとめてくれていたのはこちらの記事。

gammasoft.jp

 

int と float

数字のイメージ画像

以下のプログラムを実行した際の出力結果を選びなさい。

a = 2b = 5c = 3.0 + b, 5 * aprint(c)

 正解:(8.0,10)

 私の回答:(8.0,10.0)

 

 出力時には型を合わせた状態になる、という趣旨の問題。

 

 a と b に代入されている「2」と「5」は整数。intという型。

 一方、c の計算式に登場している「3.0」は小数点を持つ。float という型。

 

 int型 と float型が混ざって計算されるとどうなるのか?

 そういうとき、Pythonでは、float型に合わせられるように作られている。

 

 意図はわかったけど、範囲がわかってなかった。

 

 「, 」で区切られているから、同じ「c」に代入されていても

 

 「3.0 + b」

 「5 * a」

 

 この2つは別の数式だと考えてよかったのね。

 

 それぞれ

 

 「float型 + int型」

 「int型 + int型」

 

 だから、出力されたときは (float型 , int型) になる。

 

お疲れさまでした!

 .format( ) の使い方、int と float の計算の仕方。

 どっちもかなり基礎的なことだろうけど、わかってなかったなあ。

 しかし、二度と間違えない!!

 

 明日も頑張ろう。

 

 

最新情報をチェックしよう!