
Pythonチュートリアルの「形式ばらない Python の紹介」に関連した問題を掲載します。各問いに対話モードを使用して解答してください。アウトプットが正しければ正答とします。
問題
Q1.三角形の面積
底辺が10cm、高さが8cmの三角形の面積を出力してください。
Q2.消費税の計算
税抜価格が2400円、消費税率が15%のときの税込価格を出力してください。
Q3.円の面積
半径が7cmの円の面積を出力してください。円周率は3.14
とします。
Q4.BMIの計算
身長が168cm、体重が62kgの時のBMIを計算してください。
$BMI = Weight[kg] \div (Height[cm] \div 100)^{2}$
Q5.斜辺の長さ
直角を挟む2辺の長さが4cm、の長さが3cmのとき、斜辺の長さを出力してください。
Hint: $c^2 = a^2 + b^2$
Q6.エスケープ(1)
printとエスケープシーケンスをつかって、C:\name\title\raw_strings.txt
と出力してください。
Q7.エスケープ(2)
エスケープシーケンスをつかって、He said "I didn't know".
と出力してください。文字列にはシングルクォーテーションで囲ったものと、ダブルクォーテーションで囲ったものの、2パターンで出力してください。
Q8.Raw Strings
printとRaw Stringsをつかって、C:\name\title\raw_strings.txt
Q9.改行
printを使って下記文字列を表示してください。改行は出力する文字列の中に含めてください。
One
Two
Three
Q10.+と*で文字列を操作する
+
と*
を用いて下記文字列を出力してください。
PyPyPyPyPython
Q11.スライス(1)
変数名lang
にPython3.9
を代入して、lang
変数にスライスをつかってPython
だけを出力してください。スライスには正の値のみを使えるものとします。
Q12.スライス(2)
lang
変数にスライスをつかって3.9
だけを出力してください。スライスには正の値のみを使えるものとします。
Q13.スライス(3)
lang
変数にスライスをつかってPython
だけを出力してください。スライスには負の値のみを使えるものとします。
Q14.スライス(4)
lang
変数にスライスをつかって3.9
だけを出力してください。スライスには負の値のみを使えるものとします。
Q15.スライスと結合
変数lang
にスライスと結合を使って、Py3.9
と出力してください。
Q16.文字列の長さ
変数lang
の文字列の長さを出力してください。
Q17.フィボナッチ数列のリスト
変数fib
に1,1,2,3,5,8,13,21
の順番に記載したリストを格納してください。
Q18.リストのコピー
変数copy_fib
にfib変数の値をコピーしてください。コピーには浅いコピーを使います。
Q19.リストのスライス
最後から1番目の値と、最後から2番目の値とで足し算した結果を出力してください。
Q20.+を使ってリストを結合する
変数fib
にリスト[34, 55, 89]
を結合した結果を出力してください。
Q21.リストに要素を追加する
fib
の末尾に値23
を追加してください。
Q22.リストの値を書き換える
fib
の末尾の値を34
に書き換えてください。
Q23.リストの長さ
fib
のリストの要素数を出力してください。
Q24.リストのリスト(2次元配列)
以下のリストから、25を出力してください。
num_list1 = [
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19, 20],
[21, 22, 23, 24, 25, 26, 27],
[28, 29, 30]
]
Q25.多次元のリスト
以下のリストから9を取り出してください
num_list2 = [
[
[1, 2],
[3, 4],
],
[
[5, 6],
[7, 8],
],
[
[9, 10],
[11, 12],
]
]
解答例
A1.三角形の面積
>>> 10 * 8 / 2
40.0
A2.消費税の計算
>>> 2400 * (1 + 0.15)
2760.0
A3.円の面積
>>> 3.14 * 7 ** 2
153.96
A4.BMIの計算
>>> 62 / (168 / 100) ** 2
21.9671201814059
A5.斜辺の長さ
>>> a = 4
>>> b = 3
>>> c = (a**2 + b**2) ** (1/2)
>>> print(c)
5.0
A6.エスケープ(1)
>>> print("C:\\name\\title\\raw_strings.txt")
C:\name\title\raw_strings.txt
A7.エスケープ(2)
>>> print('He said "I didn\'t know".')
He said "I didn't know".
>>> print("He said \"I didn't know\".")
He said "I didn't know".
A8.Raw Strings
>>> print(r"C:\name\title\raw_strings.txt")
C:\name\title\raw_strings.txt
A9.改行
>>> print("One\nTwo\nThree")
One
Two
Three
A10.+と*で文字列を操作する
>>> print(5 * "Py" + "thon")
PyPyPyPyPython
A11.スライス(1)
>>> lang = "Python3.9"
>>> lang[:6]
'Python'
A12.スライス(2)
>>> lang[6:]
'3.9'
A13.スライス(3)
>>> lang[:-3]
'Python'
A14.スライス(4)
>>> lang[-3:]
'3.9'
A15.スライスと結合
>>> lang[:2] + lang[-3:]
'Py3.9'
A16.文字列の長さ
>>> len(lang)
9
A17.フィボナッチ数列のリスト
fib = [1, 1, 2, 3, 5, 8, 13, 21]
A18.リストのコピー
copy_fib = fib[:]
A19.リストのスライス
>>> fib = [1, 1, 2, 3, 5, 8, 13, 21]
>>> fib[-1] + fib[-2]
34
A20.+を使ってリストを結合する
>>> fib + [34, 55, 89]
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
A21.リストに要素を追加する
>>> fib.append(23)
>>> print(fib)
[1, 1, 2, 3, 5, 8, 13, 21, 23]
A22.リストの値を書き換える
>>> fib[-1] = 34
>>> fib
[1, 1, 2, 3, 5, 8, 13, 21, 34]
A23.リストの長さ
>>> len(fib)
9
A24.リストのリスト(2次元配列)
>>> num_list1 = [
... [10, 11, 12, 13, 14],
... [15, 16, 17, 18, 19, 20],
... [21, 22, 23, 24, 25, 26, 27],
... [28, 29, 30]
... ]
>>> num_list1[2][4]
25
A25.多次元のリスト
>>> num_list2 = [
... [
... [1, 2],
... [3, 4],
... ],
... [
... [5, 6],
... [7, 8],
... ],
... [
... [9, 10],
... [11, 12],
... ]
... ]
>>> num_list2[2][0][0]
9