2021-02-20

【問題】Python チュートリアル 導入

python_code_img

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辺aaの長さが4cm、bbの長さが3cmのとき、斜辺ccの長さを出力してください。

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)

変数名langPython3.9を代入して、lang変数にスライスをつかってPythonだけを出力してください。スライスには正の値のみを使えるものとします。

Q12.スライス(2)

lang変数にスライスをつかって3.9だけを出力してください。スライスには正の値のみを使えるものとします。

Q13.スライス(3)

lang変数にスライスをつかってPythonだけを出力してください。スライスには負の値のみを使えるものとします。

Q14.スライス(4)

lang変数にスライスをつかって3.9だけを出力してください。スライスには負の値のみを使えるものとします。

Q15.スライスと結合

変数langにスライスと結合を使って、Py3.9と出力してください。

Q16.文字列の長さ

変数langの文字列の長さを出力してください。

Q17.フィボナッチ数列のリスト

変数fib1,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