初めに
現在Pythonの試験勉強を始めて1か月ほど。
残り2週間ほどで試験を受けるつもりなので、模擬試験をこなしてミス問題を復習し、理解を深めていけるようにしたい。
※自分用なのですべての解説を網羅させるつもりではないです。
模擬試験の結果を赤裸々に載せていくので、どんな問題を間違えているのか気になる方は見てもらえればと思います(笑)
模擬試験は無料のPRIME STUDYというサイトで行っています。
模擬試験の結果がメールで届き、正誤を教えてくれるので理解ができていない部分に関してフォローできるので便利だと思いました。
前回第一回の試験結果
受験日2022/9/1
第1回 Python 3 基礎 模擬試験 を受験いただきありがとうございました。
あなたのスコアは 65 点 / 100点満点です。
今回は第二模擬試験の結果になります。(1回受験して、復習してからなので2回目)
第二回模擬試験
2回目の受験なので比較的点数高め。
受験日 2022 9/6
第2回 Python 3 基礎 模擬試験 を受験いただきありがとうございました。
あなたのスコアは 92.5 点 / 100点満点です。
5.文字列に関する次の記述のうち、正しいものはどれか。なお「\」はバックスラッシュに読み替えること。
あなたの回答: 文字列は「*」で繰り返すことができる。「'w' + 3 * 'o'」は対話型インタープリタで出力「wwwo」が得られる。
正答: 対話型インタープリタでは文字列は引用符に囲まれ、特殊文字はバックスラッシュでエスケープされた状態で出力される。print()関数では全体を囲む引用符が除去され、エスケープ文字や特殊文字がプリントされた状態で出力される。
文字列は*で繰り返すことができますが、今回の場合woooなので×。
対話型インタープリタで文字列を出力について
対話的インタプリタが文字列を出力するとき、出力文字列は引用符に囲まれ、特殊文字はバックスラッシュでエスケープされます。出力文字が入力とは違って見える (囲っている引用符が変わる) こともありますが、その 2 つの文字列は同じ文字列です。文字列が単引用符を含み二重引用符を含まない場合、二重引用符で囲われ、それ以外の場合は単引用符で囲われます。
36.対話モードでrandomモジュールを用い以下のような各結果を得たい場合、各コード【A】~【C】に入る正しい組み合わせはどれか。
>>> import random
>>> random.【A】(['apple', 'pear', 'banana'])
'apple'
>>> random.【B】(range(10),3)
[3, 7, 5]
>>> random.【C】(5)
4
あなたの回答: 【A】choice 【B】sample 【C】rand
正答: 【A】choice 【B】sample 【C】randrange
このあたりあまり学習していなかったので調べなおします。
randomモジュールについて
random.randrange(stop)
random.randrange(start, stop[, step])
range(start, stop, step) の要素からランダムに選ばれた要素を返します。この関数は choice(range(start, stop, step)) と等価ですが、実際には range オブジェクトを生成しません。
random.choice(seq)
空でないシーケンス seq からランダムに要素を返します。 seq が空のときは、 IndexError が送出されます。
random.choices(population, weights=None, *, cum_weights=None, k=1)
population から重複ありで選んだ要素からなる大きさ k のリストを返します。population が空の場合 IndexError を送出します。
random.sample(population, k, *, counts=None)
母集団のシーケンスまたは集合から選ばれた長さ k の一意な要素からなるリストを返します。重複無しのランダムサンプリングに用いられます。
使い方
指定の範囲から乱数を生成する場合はrandrange
指定の要素からランダムに選択(重複あり)choise
指定の要素からランダムに選択(重複なし)sample
37.今日の日付を次の実行結果のように得たい場合、コードの1行目【A】と2行目の【B】に入る適切なものはどれか。
[ 実行結果 ]
2020-06-27
[ コード ]
【A】
now = 【B】
print(now)
あなたの回答: 【A】import datetime from date 【B】datetime.today()
正答: 【A】from datetime import date 【B】date.today()
ややこしいです。。。
class datetime.date
理想的な naive な日付で、これまでもこれからも現在のグレゴリオ暦 (Gregorian calendar) が有効であることを仮定しています。 属性は year, month,および day です。
class datetime.time
理想的な時刻で、特定の日から独立しており、毎日が厳密に 246060 秒であると仮定しています ("うるう秒: leap seconds" の概念はありません)。 属性は hour, minute, second, microsecond, および tzinfo です。
class datetime.datetime
日付と時刻を組み合わせたものです。 属性は year, month, day, hour, minute, second, microsecond, および tzinfo です。
簡単にまとめると
datetime.datetime : 日時
datetime.date : 日付
datetime.time : 時刻
使用するにはfrom datetime import date
終わり
第二回は初見ではないのである程度解けてます。
残りは第3回あと一つなので、こちらも対策しておきたいです。