🙄

Pythonの基礎 ~練習問題~

2024/06/28に公開

0.はじめに

こちらの記事では今まで勉強してきたPythonの基礎をどのくらい理解できているかの確認問題集になります。
普通の問題とは違い、プログラミングの問題集になりますので、わからない場合はGoogleで調べながら解いて大丈夫です。
本業としてエンジニアの仕事をしている人でも、基本的なことでさえ、たまに調べて解決します。
そのぐらいプログラミングにおける暗記はしなくて成り立ちです。
その場で調べて解決できる能力があればいいのです。

ただ、1点こちらの問題集では制限をかけようと思います。
それは、過去記事を参照してはいけないこと。
理由としては、皆さんに
調べる→実装→実行→エラー→調べる→解決
この流れを掴んで欲しいからです。
どんなに調べてもわからない!という場合は過去記事を参照しても大丈夫ですが、
極力自分で調べて解決するようにしてみてください。
では、スタートです!

1.文字列

Q1. ログにHello Pythonと表示してください。

答え
print(Hello Python)

Q2.私は自動化したい。の文字列をそれぞれの変数に入れて結合した結果、私は自動化したい。と表示させてください。

答え
a = "私は"
b = "自動化したい。"
print(a+b)

Q3. fruits変数にリンゴ,バナナ,ブドウ,イチゴという文字列を代入します。
この文字列を,を区切りにしてリスト型になるようにしてログに表示してください。

答え
fruits = "リンゴ,バナナ,ブドウ,イチゴ"
print(fruits.split(","))

Q4. 私の 好き な食べ物は リンゴ です。とスペースのできた文字列からスペースを空文字に置換して、私の好きな食べ物はリンゴです。とスペースのない文字列をログに表示してください。

答え
a = "私の 好き な食べ物は リンゴ です。"
print(a.replace(" ", ""))

Q5. 僕はリンゴが好きです。という文字列にリンゴが含まれているかをTrue返すようにログに表示してください。

答え
a = "僕はリンゴが好きです。"
print("リンゴ" in a)

Q6. 僕はリンゴが好きです。という文字列にリンゴがどの位置にあるかを返すようログに表示してください。

答え
a = "僕はリンゴが好きです。"
print(a.find("リンゴ"))

Q7. この文字列は12文字ですという文字列の文字数をログに表示してください。

答え
a = "この文字列は12文字です"
print(len(a))

Q8. 変数ageに30を代入してください。その後、ageを文字列の中で展開して、僕の年齢は30歳です。とログに表示してください。
※ヒント: フォーマット

答え
age = 30
print(f"僕の年齢は{age}です。")

Q9. 文字列である"1"を数値である1に変化してログに表示してください。
また、変換されたことを証明するために、変換後の型もログに表示してください。

答え
a = "1"
print(int(a))
print(type(int(a)))

2.数値

Q1. 足し算を用いて、答えが100になるような計算式を実装してください。

答え
print(50+50)

Q2. 引き算を用いて、答えが10になるような計算式を実装してください。

答え
print(20-10)

Q3. 掛け算を用いて、答えが20になるような計算式を実装してください。

答え
print(5*4)

Q4. 割り算を用いて、答えが30.0になるような計算式を実装してください。

答え
print(60/2)

Q5. 文字列型の"1"と数値型の1を計算しようとするとエラーになります。
その理由を教えてください。

答え

pythonでは文字としての数値数字としての数値を分けて処理されるため

3.オブジェクト

Q1. 変数fruitsに リスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。代入された変数からリンゴのみをログに表示してください。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
print(fruits[0])

Q2. 変数fruitsに リスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。変数の値の末尾に"バナナ"を追加してください。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
fruits.append("バナナ")
print(fruits)

Q3. 変数personに 辞書型である{"name": "ごっつ", "age": 30, "gender": "man"}を代入してください。代入された変数からごっつのみをログに表示してください。

答え
person = {"name": "ごっつ", "age": 30, "gender": "man"}
print(person["name"])

Q4. 変数personに 辞書型である{"name": "ごっつ", "age": 30, "gender": "man"}を代入してください。変数にKeyがhobbyValueがbasketballの値を追加してください。

答え
person = {"name": "ごっつ", "age": 30, "gender": "man"}
person["hobby"] = "basketball"
print(person)

4.条件分岐

Q1. 変数numの値が3だった場合に、numは3です。と表示され、それ以外の場合は、
numは3以外です。と表示されるように実装してください。

答え
num = 3
if num == 3:
  print("numは3です。")
else:
  print("numは3以外です。")

Q2. 変数numの値が3だった場合に、numは3です。と表示され、
変数numの値が4だった場合に、numは4です。と表示され、
それ以外の場合は、numは3以外です。と表示されるように実装してください。

答え
num = 3
if num == 3:
  print("numは3です。")
elif num == 4:
  print("numは4です。")
else:
  print("numは3以外です。")

5.ループ

Q1. 変数fruitsにリスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。この変数に対してループ処理を行って、値を全てログに出力してください。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
for fruit in fruits:
  print(fruit)

Q2. ループ処理を5回実行する、回数だけ指定して、ログにループ数を表示してください。

答え
for index in range(5):
  print(index)

Q3. 変数fruitsにリスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。この変数にループ処理を行い、メロンの値になったらループ処理を終了するようにしてください。
※ヒント: 条件分岐も使用します。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
for fruit in fruits:
  if fruit == "メロン":
    break
  print(fruit)

Q4. 変数fruitsにリスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。この変数にループ処理を行い、メロンの値になったらそのループ処理だけをスキップするようにしてください。
※ヒント: 条件分岐も使用します。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
for fruit in fruits:
  if fruit == "メロン":
    continue
  print(fruit)

Q5. 変数fruitsにリスト型である["リンゴ", "メロン", "ブドウ"]を代入してください。この変数にループ処理を行い、n番目: Valueとなるように、ループ回数とリスト型の値を同時に表示させてください。

答え
fruits = ["リンゴ", "メロン", "ブドウ"]
for index, fruit in enumerate(fruits):
  print(f"{index}番目: {fruit}")

6.関数

Q1. 実行したらHello pythonとログに表示する、hello_python関数を作成して実行までするプログラムを実装してください。

答え
def hello_python():
  print("Hello python")

hello_python()

Q2. 引数に名前を渡せるhello関数を作成して、こんにちは{名前}とログに表示されるプログラムを実装してください。

答え
def hello(name):
  print(f"こんにちは{name}")

hello("ごっつ")

Q3. 引数に名前と年齢渡せるhello関数を作成して、こんにちは{名前}!{名前}の年齢は{年齢}歳なんですね!とログに表示されるプログラムを実装してください。

答え
def hello(name, age):
  print(f"こんにちは{name}! {name}の年齢は{age}歳なんですね!")

hello("ごっつ", 30)

Q4. Q1で回答した文字を関数内で表示(print)するのでは、関数からの返り値を受け取っ手からログに表示するプログラムを実装してください。

def hello_python():
  return "Hello python"

hello = hello_python()
print(hello)

::::

Discussion