Python 模擬試験

Python基礎 模擬試験 第1回 問8・3章 気楽な入門編(プログラミングへの第一歩)

フィボナッチ数列

次のコードを実行したときの出力として、正しいものを1つ選べ。

a, b = 0, 1
while a < 10:
    print(a, end=" ")
    a, b = b, a + b
  1. A

    0 1 2 3 5 8

  2. B

    1 1 2 3 5 8 13

  3. C

    0 1 1 2 3 5 8 13

  4. D

    0 1 1 2 3 5 8

正解と解説を見る

正解:D

多重代入では右辺をすべて先に計算し、end を指定すると改行の代わりにその文字列を出力する。

順実行する行実行後の変数
1`a, b = 0, 1`a = 0, b = 1
2`while a < 10:`a = 0
3`print(a, end=" ")`a = 0
4`a, b = b, a + b`a = 1, b = 1
5`while a < 10:`a = 1
6`print(a, end=" ")`a = 1
7`a, b = b, a + b`a = 1, b = 2
8`while a < 10:`a = 1
9`print(a, end=" ")`a = 1
10`a, b = b, a + b`a = 2, b = 3
11`while a < 10:`a = 2
12`print(a, end=" ")`a = 2
13`a, b = b, a + b`a = 3, b = 5
14`while a < 10:`a = 3
15`print(a, end=" ")`a = 3
16`a, b = b, a + b`a = 5, b = 8
17`while a < 10:`a = 5
18`print(a, end=" ")`a = 5
19`a, b = b, a + b`a = 8, b = 13
20`while a < 10:`a = 8
21`print(a, end=" ")`a = 8
22`a, b = b, a + b`a = 13, b = 21
23`while a < 10:`a = 13
結果実際の出力0 1 1 2 3 5 8

学習のポイント:多重代入の評価の順序と、print の end 引数を押さえる。

この問題を演習で解く →

問題一覧へ

このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。