文系のIT遊記

「そもそもITって何?」と思っていた28歳♀のIT関係勉強記。

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

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

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

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

 

 .count()と.range()

数字のイメージ画像

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

num_list  = [2, 4, 6, 4, 4, 2, 6]
for i in range(num_list.count(4)):
    print(i, end=' ')

 正解:0 1 2

 

 .count()と.range()が組み合わさった問題。

 num_list.count(4) は、num_list の中に「4」がいくつあるか数えてくれる。

 このリストだと「4」は3つある。

 

 ということは、rangeの引数(つまり()内に入る数字)は「3」。

 

 range(num_list.count(4))

 は

 range(3)

 と同じということ。

 

 ここまでくれば、もう簡単。

 0から始まって3つ目までの数字が出力されるから、「0 1 2」となる。

 

open関数のモード

勉強イメージ画像

ファイルの読み書きで使用する「open」関数のモードについて、存在しないものを選択肢の中から選びなさい。

 正解:r-

 私の回答:a

 

 open()は「ファイルオブジェクトを返す関数」らしい。

 使い方は

 open(<ファイル名>, <モード>)

 のように、2つの引数を与えるのが普通なのだと。

 

 で、今回はそのモードの中で存在しないものを問われた。

 知ってればいける問題。

 

 存在するモードをまとめると以下のようになる。

  • r   …読み込み専用
  • w …書き出し専用
  • r+ …読み書き両用
  • a  …データを末尾に追加
  • b  …バイナリモードで開く

 ちなみに、モードを指定しない場合のデフォルトは「r」とのこと。

 

 そして、バイナリモードってなんだ!

 と思ったそこのあなた。仲間ですね。

 

 ファイルは基本、テキストモードで開かれるけど、テキストを含まないファイルはこのモードで読み込め、だそうです。

 バイト型(bytes)で書かれているファイルを開くときに使うみたい。

 バイト型っていうと、0とか1とかが羅列されてるイメージ。

 

 この記事を読むとなんとなくイメージが湧く。

techacademy.jp

 お疲れさまでした!

 今回の.count()と.range()のように、関数が組み合わさっていても慌てず1つずつ考えれば大丈夫。

 open関数のモードにも詳しくなった!!

 

 明日も頑張ろう。