004_Pythonエンジニア認定基礎試験2-1~5

目次

第二章_テキストと数の操作

今回の項目では、テキストや数の操作について出題されます。
本試験の主教材である「Python3エンジニア認定基礎試験問題集」では第2章(P026~P036)の1~5問目の内容です。

練習問題 1

次のコードを実行した結果を考えてみましょう

n = 10**2 - 100/2
print(n)
答えはコチラをクリック!

答え:50

ポイント
A**Bは、A/Bよりも計算の優先順位が「〇〇」

A**Bは、A/Bよりも計算の優先順位が高いです。
Pythonには、様々な算術演算子がありますが、それらにも優先順位があります。
次の表は、優先順位についてまとめたものです。
ここに表の画像

次この優先順位を考えながら、問題のコードを解いていきましょう。
まず、10**2は、10の2乗という意味なので、10×10=100です。
つぎに、100/2=50です。
以上より、100 – 50 = 50となります。

練習問題2

次のコードを実行した結果を考えてみましょう

message = (
    "今日のご飯:"
    "カレーライス"
    "ハンバーグ"
)
print(message)
答えはコチラをクリック!

答え:今日のご飯: カレーライス ハンバーグ

ポイント
文字列は列挙することで、「〇〇〇」

文字列は列挙することで、自動的に結合される。

P文字列を複数行で記述する場合、()で囲んで、改行しながら記述します。
問題のコードでは、”今日のご飯:”、”カレーライス”、”ハンバーグ”の3つの文字列を結合し、出力されます。

練習問題3

次のコードを実行した結果を考えてみましょう

massage = """
good morning
hello
good night
"""
print(massage)
答えはコチラをクリック!

答え:good morning
   hello
   good night

ポイント
複数行に書かれた文字列の改行は、出力に反映される。

Pythonの文字列の中では、改行は「\n」(環境によってはバックスラッシュ)で表されます。
これを、改行文字といいます。

問題のコードでは、トリプルクォート内の改行は改行文字として認識されるため、
答えのように出力でも改行されます。

練習問題4

次のコードを実行した結果を考えてみましょう

print(len("hello"))
答えはコチラをクリック!

答え:5

ポイント
len()関数は、「〇〇〇〇〇〇」を取得する。

len()関数は、文字列の長さを取得する関数です。

P問題のコードでは、文字列”hello”の長さを出力します。
helloは5文字なので、5が出力されます。

練習問題5

次のコードを実行した結果を考えてみましょう

message = "goodmorning"
x = message[3:8]
print(x)
答えはコチラをクリック!

答え:dmorn

ポイント
[A:B]で、「〇〇〇〇」

エ[A:B]で、「スライス

Pスライスとは、指定した範囲の文字を切り取る処理のことを言います。
スライスの書式は 文字列[はじめの位置:終わりの位置]で記述されます。
問題のコードでは、[3:8]の範囲でスライスをしているので、文字列”goodmorning”の3~8番目の文字を出力します。よって正解はdmornとなります。
なお、文字列の数え方は0から始まることに注意してください。

確認問題

問1 次のコードを実行した結果として、正しいものを探してみましょう。

num = 2**5 + 3*2
print(num)

1、16
2、38
3、19
4、エラーが発生する

答えはコチラをクリック!

答え:2

計算式では、**記号は累乗、*記号は掛け算を表します。
今回の問題では2**5(2の5乗)と3*2(3×2)を足し算するので、32+6=38が答えとなります。

問2 次のコードを実行した結果として、正しいものを探してみましょう。

message = (
    "こんにちは!"
    "今日は、"
    "いい天気ですね。"
)
print(message)

1、 “こんにちは!” “今日は、” “いい天気ですね。”
2、 “こんにちは!今日は、いい天気ですね。”
3、こんにちは!今日は、いい天気ですね。
4、 “こんにちは!”
   “今日は、”
   “いい天気ですね。”

答えはコチラをクリック!

答え:3

文字列は列挙することで、自動的に結合されます。

結合された文字列は、一つの文として出力されます。

問3 次のコードを実行した結果として、正しいものを探してみましょう。

massage = """
Sunday
Monday
Tuesday
"""
print(massage)

1、Sunday
  Monday
  Tuesday
2、Sunday Monday Tuesday
3、 “””Sunday Monday Tuesday”””
4、 “Sunday
   Monday
   Tuesday”

答えはコチラをクリック!

答え:1

複数行に書かれた文字列の改行は、出力に反映されます。
トリプルクォート内の改行は改行文字として認識されるため、出力でも改行されます。

問4 文字列の長さを取得する方法として正しいものは次のうちどれでしょうか。
(なお、ここでの変数strには文字列が代入されているものとします。)

1、length(str)
2、str.length
3、len(str)
4、str.len

答えはコチラをクリック!

答え:3

通常のPythonでは、文字列の長さはlen()関数で取得できます。
str.lenのようには使用しませんので注意してください。

問5 次のコードを実行した結果として、正しいものを探してみましょう。

text = "Hello,world!"
substring = text[6:11]
print(substring)  


1、world
2、,worl
3、world!
4、Hello,world!

答えはコチラをクリック!

答え:1

通常文字列のスライスの問題です。
今回は[6:11]でスライスをするため、6番目の「w」から10番目の「d」までがスライスされます。

次回は…

次回は「005_テキストと数の操作2-6~9」です。

参考資料一覧:Python3エンジニア認定[基礎試験]問題集
https://www.pythonic-exam.com
https://data-engineer-japan.com
https://mynavi-agent.jp
https://python-basic.com
https://www.tokai-bs.co.jp
https://freelance.techcareer.jp/articles/wp/skills/python/detail/550/
https://pythonzen-pep8-exam.jp/

リンク


・無料体験のお申込み
・インスタグラム
・Python構文集
・Python用語集

目次