AIを使って問題を作成しています。
Prompt:
Python3エンジニア認定基礎試験に出てきそうな問題を作ってください。
問題1 (条件分岐)
次のコードの出力は何ですか?
x = 10
if x > 5:
print("Greater")
else:
print("Smaller")
Greater
Smaller
None
Error
解説
正解:1. Greater
x が5より大きいため、"Greater" が出力されます。
問題2 (リスト操作)
次のコードの出力は何ですか?
lst = [1, 2, 3, 4, 5]
lst.append(6)
print(lst)
[1, 2, 3, 4, 5, 6]
[6, 1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7]
解説
正解:1. [1, 2, 3, 4, 5, 6]
append メソッドはリストの末尾に要素を追加します。
問題3 (ファイル操作)
次のコードの出力は何ですか?
with open("test.txt", "w") as f:
f.write("Hello, World!")
with open("test.txt", "r") as f:
print(f.read())
Hello, World!
何も表示されない
test.txt
Error
解説
正解:1. `Hello, World! ファイルに "Hello, World!" を書き込み、その内容を読み込んで表示します。
問題4 (集合)
次のコードの出力は何ですか?
s = {1, 2, 3, 4, 5}
s.add(6)
print(s)
{1, 2, 3, 4, 5, 6}
{6, 1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
Error
解説
正解:1. {1, 2, 3, 4, 5, 6}
add メソッドは集合に要素を追加します。
問題5 (ラムダ関数)
次のコードの出力は何ですか?
add = lambda x, y: x + y
print(add(3, 4))
3
4
7
Error
解説
正解:3. 7
ラムダ関数は二つの引数の和を返します。
問題6 (リスト内包表記)
次のコードの出力は何ですか?
lst = [x * 2 for x in range(5)]
print(lst)
[0, 2, 4, 6, 8]
[1, 2, 3, 4, 5]
[2, 4, 6, 8, 10]
[0, 1, 2, 3, 4]
解説
正解:1. [0, 2, 4, 6, 8]
リスト内包表記で、各要素を2倍にしたリストを作成します。
問題7 (演算子)
次のコードの出力は何ですか?
print(3 * 3 + 3)
9
12
6
Error
解説
正解:2. 12
演算子の優先順位により、掛け算が先に計算されます。
問題8 (論理演算)
次のコードの出力は何ですか?
a = True
b = False
print(a and b)
True
False
None
Error
解説
正解:2. False
and 演算子は両方の条件が真である場合にのみ真を返します。
問題9 (モジュール)
次のコードの出力は何ですか?
import random
print(random.randint(1, 10))
1
10
1から10の間のランダムな整数
Error
解説
正解:3. 1から10の間のランダムな整数
randint 関数は指定された範囲内のランダムな整数を返します。
問題10 (リストのスライス)
次のコードの出力は何ですか?
lst = [10, 20, 30, 40, 50]
print(lst[1:3])
[10, 20]
[20, 30]
[30, 40]
[40, 50]
解説
正解:2. [20, 30]
スライス lst[1:3] はインデックス1から2までの要素を含みます。
補足
appendメソッド
- リスト専用: リストの末尾に要素を1つ追加します。
- 要素の種類: どんな型の要素でも追加できます(数値、文字列、他のリストなど)。
- リスト内の要素として追加: 追加された要素は、リスト内の1つの要素として扱われます。
addメソッド
- セット専用: セットに要素を1つ追加します。
- 重複排除: セットは重複した要素を持たないため、すでに存在する要素を追加しても無視されます。
- 順序は保証されない: セットは順序を保持しないため、要素の追加順序は保証されません。