第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 だけに凝り固まらずに、いろいろな書き方を知っておくと、絶対役に立つと思いました。

引き続き、よろしくお願いいたします!

Pythonpaiza,学習,Python

Posted by LeoSaki