第147回【Python】5以上か4以下か、配列(リスト)データの足し合わせ、5以上の整数の合計
現在取り組んでいるのは、paiza ラーニング問題集「B ランクレベルアップメニュー」になります。
はじめに
猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。
Python をゼロから勉強してみよう、のコーナー 147 回目です。
147 回続けてきて、ようやく全体の構成が落ち着いてきた感じです。そうなると、最初の頃の記事も書き直したくなります。面倒な気持ちをポジティブに言い換えると「自分の成長の足跡としてそのまま残します」。なんかカッコよく感じるでしょ?
それでは、今日も頑張ってみようと思います。
5以上か4以下か (paizaランク D 相当)
整数nが与えられるので、nが5以上なら"high"、そうでないなら"low"と出力してください。
n
期待する出力
入力された整数nが5以上なら「high」、そうでないなら「low」を出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
-200,000 ≦ n ≦ 200,000
入力例
5
出力例
high
条件の幅が大きすぎる。その中の 5 以上かどうかを判定するとか、どんな意味があるのだろう。
Python
n = int(input())
if n >= 5:
print('high')
else:
print('low')
VBA
Sub prob60_5_or_more_3()
N = Cells(1, 1)
If N >= 5 Then
Debug.Print "high"
Else
Debug.Print "low"
End If
End Sub
配列(リスト)データの足し合わせ (paizaランク D 相当)
指定した配列(リスト)を定義し、それらの要素のうち5以上の数をすべて足し合わせた値を出力してください。
なし
4, 0, 5, -1, 3, 10, 6, -8
を要素に持つ配列(リスト)をプログラムで定義し、使用すること。
期待する出力
配列(リスト)の要素のうち、5以上の数をすべて足し合わせた値。
最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
なし
入力例
なし
出力例
なし
条件によって足すかどうかを判定する。リストは用意されたものを使うらしい。
Python
li = [4, 0, 5, -1, 3, 10, 6, -8]
ans = 0
for v in li:
if v >= 5:
ans += v
print(ans)
VBA
Sub prob60_5_or_more_4()
li = Array(4, 0, 5, -1, 3, 10, 6, -8)
ans = 0
For Each v In li
If v >= 5 Then
ans = ans + v
End If
Next
Debug.Print ans
End Sub
5以上の整数の合計 (paizaランク C 相当)
改行区切りで整数がn個入力されるので、n個の整数のうち、5以上のものをすべて足し合わせた値を出力してください。
n (数字の総数)
a_1
a_2
a_3
...
a_i
...
a_n
期待する出力
入力された整数a_iのうち5以上のものをすべて足し合わせた値を出力してください。
最後は改行し、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて、以下の条件をみたします。
1 ≦ n ≦ 1,000
-1,000,000 ≦ a_i ≦ 1,000,000
入力例
5
1
-5
1
4
3
出力例
0
最初の章の Boss 問題。サクサク進めます。
Python
n = int(input())
ans = 0
for _ in range(n):
a = int(input())
if a >= 5:
ans += a
print(ans)
VBA
Sub prob60_5_or_more_9()
N = Cells(1, 1)
ans = 0
For i = 1 To N
a = Cells(i + 1, 1)
If a >= 5 Then
ans = ans + a
End If
Next
Debug.Print ans
End Sub
最後に
ここまで取り組んできた問題に比べれば簡単でした。VBA でもほとんど同じように書けてしまう。
たまに Python でしか使えない関数(代替えがない関数)が出てきても、他の言語(PHP や C#、Java)でも同じ状況が発生していて、VBA で書いたコードと似たような処理をしていたりします。Python だけに凝り固まらずに、いろいろな書き方を知っておくと、絶対役に立つと思いました。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません