第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 先生は、使う人間側にれっきとした知識、修正能力がないと、無暗に信頼してはいけないと思っている。文章を書かせるには、大変に便利なんだけれど。
引き続き、よろしくお願いいたします!
ディスカッション
コメント一覧
まだ、コメントがありません