おおむねこんな問題が出題されます。
(回答は、空欄の中の文字を選択してコピー・ペーストすると表示されます)
fact を書きたい。以下の空欄を埋めよ。
def fact(n):
x = 1
for i in range(n):
x = x * (i + 1)
return x
while文を使った別の書き方をするとどうなるか。
以下の空欄を埋めよ。
def fact(n):
x = 1
while 0 < n:
x = x * n
n = n - 1
return x
fact を改良して、
n! ではなく n! ÷ (n-r)! を効率よく
計算する関数 fact2 を作りたい。
以下の空欄を埋めよ。
def fact2(n, r):
x = 1
while 0 < r:
x = x * n
n = n - 1
r = r - 1
return x
a = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for i in range(30):
d = i + 1
w = (d + 4) % 7
print(d, ":", a[w])
実行結果 (最初の5行のみ):
1 : Fri 2 : Sat 3 : Sun 4 : Mon 5 : Tue
Sat → Sun に変わる間) に
横線 --- だけの行を表示させたい。
以下の空欄を埋めよ。
a = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for i in range(30):
d = i + 1
w = (d + 4) % 7
print(d, ":", a[w])
if w == 6:
print("---")
30 → 31 4 → 6
for i in range(5):
y = 5-i
s = str(y)+":"
for x in range(4):
s = s + "X"
print(s)
実行結果:
5:XXXX 4:XXXX 3:XXXX 2:XXXX 1:XXXX
bar を書きたい。
プログラム中の空欄を埋めよ。
def bar(a):
for i in range(5):
y = 5-i
s = ""
for x in range(len(a)):
n = a[x]
if y <= n:
s = s + "X"
else:
s = s + " "
print(s)
return
bar([4, 1, 0, 3])
上のプログラムを実行すると、以下のように表示されるものとする:
X X X X X XX X
1. 棒グラフの高さは5行まで。 2. 表現できるのは整数の値のみ。