0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python3エンジニア基礎試験_模擬試験の復習①

Last updated at Posted at 2023-06-09

公式:Python チュートリアル

Python3エンジニア基礎試験の参考書

スライスの問題

slice.py
fibo = [0,1,1,2,3,5,8,13,34,55,89]
fibo[-3:-3]= [21]
print(fibo)
# [0,1,1,2,3,5,8,13,21,34,55,89]

※スライスでは、開始インデックスは含まれますが、終了インデックスは含まれません。
したがって、開始と終了が同じ場合、スライス範囲は要素を含まない空の範囲となります。

print文の問題

print.py
total = 780
print("「お会計は", total, "円です。」")
# 「お会計は 780 円です。」

・他の選択肢にあった、"print(‘「お会計は’ + total + ‘円です。」’)"は誤り。
 strとintの混合となり、TypeErrorとなる。
 この場合は、"print(‘「お会計は’ + str(total) + ‘円です。」’)"とする。

スライスの問題

slice.py
letters = ['a','b','c','d', 'e']
letters[-4:-2] = []
print(letters)
# ['a', 'd', 'e']

・まず、リスト letters には文字列 'a', 'b', 'c', 'd', 'e' の5つの要素が含まれています。
 次に、スライスを使用して要素の一部を指定しています。
 letters[-4:-2] は、リストの後ろから4番目の要素 'b' と3番目の要素 'c' を含む部分リストを取得します。
 そして、[] を使用してこの部分リストを空のリストで置き換えます。
 つまり、['b', 'c'] の要素が削除され、リスト letters は ['a', 'd', 'e'] となります。 
 最後に、print(letters) を使用して変更後のリスト letters を出力します。
 出力結果は ['a', 'd', 'e'] となります。

while文の問題

while.py
a = 0
b = [2,3,4,5,6]

while a < len(b):
    print(a, end=',')
    a = b[a]
# 0, 2, 4
  • 処理の流れ
  1. 変数 a に初期値 0 を代入します。
  2. リスト b の要素数を取得し、その値と a を比較します。
  3. a が b の要素数より小さい場合、以下の処理を繰り返します:
  4. a の値を出力します(print(a, end=','))。
  5. b[a] の値を a に代入します。つまり、b の a 番目の要素を取得して a に格納します。
  6. a が b の要素数以上になった場合、ループを終了します。
  • 例えば、与えられたリスト b の要素が [2, 3, 4, 5, 6] の場合、以下のように処理が進行します:
  1. a の初期値は 0 なので、最初に 0 を出力します。
  2. b[0] の値は 2 なので、a に 2 を代入します。
  3. a の値は 2 なので、次に 2 を出力します。
  4. b[2] の値は 4 なので、a に 4 を代入します。
  5. a の値は 4 なので、次に 4 を出力します。
  6. b[4] の値は 6 なので、a に 6 を代入します。
  7. a の値は 6 なので、次に 6 を出力します。
  8. b[6] のインデックスは存在しないため、ループを終了します。

while文の問題

while.py
a, b = 0, 2
lst = []

while a < b ** 2:
    lst.append(1)
    a = a + 1 # aはwhile文の真偽を判断する材料の役割
    print(lst, end=',')
# [1],[1, 1],[1, 1, 1],[1, 1, 1, 1],
  • 変数 a と b を定義し、lst という空のリストを作成します。その後、a が b の2乗よりも小さい間、
     以下の処理を繰り返します。
  1. lst に値 1 を追加します。
  2. a の値を1増やします。
  3. lst の内容を表示します。

具体的には、lst の要素が 1 になりながら、繰り返し処理が行われます。
ループの終了条件は a < b ** 2 ですので、a が b の2乗以上になった時点でループが終了します。
ループの各イテレーションで、lst に要素が追加され、それが表示されます。
最終的には、lst の要素が表示されることになります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?