第90回【Python】単純な入出力、複数行にわたる出力、複数行にわたる入力、入力の配列による保持

現在取り組んでいるのは、paiza ラーニング問題集「C ランクレベルアップメニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 90 回目です。

キャンプで使っている耐熱手袋を徹底的に洗ってみました。水が真っ黒くなって、こんなのを使っていたのか、とゾッとしました。まぁ、仕方ないですね。外で炭や灰をたっぷり浴びていますから。

それでは、今日も頑張ってみようと思います。

単純な入出力

文字列 s が与えられるので s をそのまま出力してください。

s

すべてのテストケースにおいて、以下の条件をみたします。

・s は数字または大文字・小文字のアルファベットからなる長さ 1 以上 10 以下の文字列


入力例

paiza

出力例

paiza

秒で解きましょう。

Python
s = input()
print(s)
VBA
S = Cells(1, 1)
Debug.Print S

複数行にわたる出力

整数 n が与えられるので、 n 回、改行区切りで paiza と出力してください。

n

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 50


入力例

2

出力例

paiza
paiza

こちらも、秒で解きましょう。

Python
n = int(input())
for _ in range(n):
    print('paiza')
VBA
N = Cells(1, 1)
For i = 1 To N
    Debug.Print "paiza"
Next

複数行にわたる入力

整数 n と n 個の整数 a_1, …, a_n が改行区切りで与えられるので、 a_1, …, a_n を与えられた順に、改行区切りで出力してください。

n
a_1
...
a_n

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 50
・各 a_i(1 ≦ i ≦ n)について 1 ≦ a_i ≦ 50


入力例

2
1
2

出力例

1
2

ついでに、秒で解きましょう。

Python
n = int(input())
for _ in range(n):
    a = input()
    print(a)
VBA
N = Cells(1, 1)
For i = 1 To N
    a = Cells(i + 1, 1)
    Debug.Print a
Next

入力の配列による保持

整数 n と n 個の数 a_1, …, a_n が改行区切りで与えられます。与えられた a_1, …, a_n の中で最も大きい数を出力してください。

n
a_1
...
a_n

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 50
・各 a_i(1 ≦ i ≦ n)について 1 ≦ a_i ≦ 50


入力例

2
4
7

出力例

7

本日最後も、秒で解きましょう。

Python
N = int(input())
A = [int(input()) for _ in range(N)]
print(max(A))
VBA
N = Cells(1, 1)
Dim A() As Integer
ReDim A(N - 1)
For i = 0 To N - 1
    A(i) = Cells(i + 2, 1)
Next
maxnum = 0
For i = LBound(A) To UBound(A)
    If A(i) > maxnum Then maxnum = A(i)
Next
Debug.Print maxnum

最後に

Python で 3 行で書いたものを、VBA ではかなり面倒な手順となってしまった。もっと綺麗に簡潔に書く方法はあるのだろうか・・・。で、最近流行の ChatGPT 先生にお伺いを立てたところ、if num > maxnum then って始めたので、VBA においてはこれが最善手の模様。ChatGPT 先生への謎の信頼感。

いや、素直に書くと、ChatGPT 先生は、使う人間側にれっきとした知識、修正能力がないと、無暗に信頼してはいけないと思っている。文章を書かせるには、大変に便利なんだけれど。

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

Pythonpaiza,学習,Python

Posted by LeoSaki