この記事では
プログラミング学習サービスpaizaラーニングの
スキルチェックレベルアップ問題集をわかりやすく解説します!
プログラミング言語はpythonです。
今回はDランク相当の以下の問題を解説します。
他のレベルアップ問題集のの解答と解説もしているので
ぜひご参考ください!
またpaizaの各ランクの攻略法は
こちらで詳しく紹介しているので、ぜひご参考ください!
【競技4】明日天気にな〜れ! (paizaランク D 相当)の解答と解説
今回の問題は「【競技4】明日天気にな〜れ! (paizaランク D 相当)」です。
問題はこちらからご確認ください。
【競技4】明日天気にな〜れ! (paizaランク D 相当)
この問題を解くのに必要な知識は5つです。
- 入力を受け取る
- str型からint型に変換
- 文字列の一致を判定
- 処理を繰り返す
- 結果を出力
それぞれについて解説します。
入力を受け取る
まずは「入力を受け取る」です。
今回の問題では、1行目に入力された値の回数だけ
2行目以降に入力される「靴の向き」に
対応する「天気」を出力します。
そのためまずは「入力を受け取る」処理が必要です。
pythonではinput関数を使って、入力を受け取ります。
# 入力を受け取る
num = input()
入力の方法についてはこちらをご参考ください!
str型からint型に変換
次は「str型からint型に変換」です。
input関数で受け取った入力値は
例え数字であってもstr型として変数に代入されます。
以降の処理がstr型では実行できないので
int関数を使って、str型からint型に変換しなければなりません。
# 入力を受け取る
num = input()
# int型に変換
int_num = int(num)
また入力の際にint型に変換するとよりシンプルです。
# 入力を受け取りint型に変換
num = int(input())
変数の型についてはこちらをご参考ください!
文字列の一致を判定
次は「文字列の一致を判定」です。
今回の問題では、入力された靴の向きが
forward
, reverse
, sideways
のどれと等しいかを
判定しなければなりません。
2つの値が等しいかどうかは==
を使って条件を課します。
# 靴の向きの入力を受け取る
result == input()
# "forward"と等しいかの条件
result == "forward"
今回は条件が2つ以上なので、if elif else文を使って条件分岐を行います。
# 靴の向きの入力を受け取る
result == input()
# "forward"の場合
if result == "forward":
# "reverse"の場合
elif result == "reverse":
# "sideways"の場合
else:
if文についてはこちらをご参考ください!
処理を繰り返す
次は「処理を繰り返す」です。
今回の問題では1行目に入力された数だけ
2行目以降に「靴の向き」が入力されます。
そのため「靴の向きに対応する天気を出力」処理を
繰り返し行う必要があります。
処理を繰り返す場合は、以下のようにfor文を使います。
# 1行目の入力を受け取りint型に変換
num = int(input())
# n回処理を繰り返す
for _ in range(num):
# 靴の向きの入力受け取る
result = input()
また1行目の入力をそのままrange関数に代入すると
よりシンプルに書くことが出来ます。
# 1行目で入力された数だけ繰り返す
for _ in range(int(input())):
# 靴の向きの入力受け取る
result = input()
for文については、こちらをご参考ください!
結果を出力
最後は「結果を出力」です。
靴の向きに対応する天気をprint関数を使って出力します。
# 天気を出力
print("Sunny")
【競技4】明日天気にな〜れ! (paizaランク D 相当)の解答
まとめると「【競技4】明日天気にな〜れ! (paizaランク D 相当)」の解答は以下です。
# 1行目で入力された数だけ繰り返す
for _ in range(int(input())):
# 靴の向きの入力受け取る
result = input()
# "forward"の場合
if result == "forward":
# "Sunny"と出力
print("Sunny")
# "reverse"の場合
elif result == "reverse":
# "Rainy"と出力
print("Rainy")
# "sideways"の場合
else:
# "Cloudy"と出力
print("Cloudy")
今回の問題はDランク相当にもかかわらず
しかしCランク以降ではほとんどの問題で
if文とfor文を組み合わせる必要があるので
ここでしっかりと確認しておきましょう!
まとめ
今回はpaizaのスキルチェックのレベルアップ問題集の中で
- 【競技4】明日天気にな~れ! (paizaランク D 相当)
の解答と解説を紹介しました。
Dランクの問題のため、非常に簡単ではありますが
高ランクの問題で必要になる知識が豊富に含まれています。
しっかりと理解しランクアップを目指していきましょう!
また他の問題についての解説も、ぜひご参考ください!