第91回【Python】半角スペース区切りでの出力、改行区切りでの出力、標準入出力

2023年12月26日

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

はじめに

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

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

猫に好かれやすい体質のようです。不思議とどんな子でも懐いてくれます。多少引っ掻かれても噛みつかれても、根気強く接していれば必ず仲良くなれるものです。

「ほら、怖くない」

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

半角スペース区切りでの出力

整数 n が与えられるので、n 回、半角スペース区切りで paiza と出力してください。最後の paiza の後には半角スペースは入れず、改行を入れ、余計な文字、空行を含んではいけません。

n

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

・1 ≦ n ≦ 50


入力例

2

出力例

paiza paiza

最後の paiza の後には・・・が、曲者ですね。

Python
N = int(input())
S = ['paiza'] * N
print(' '.join(S))
VBA
N = Cells(1, 1)
ans = "paiza"
For i = 2 To N
    ans = ans & " paiza"
Next
Debug.Print ans

改行区切りでの出力

整数 n が与えられ、その後に n 個の整数 a_1, …, a_n が半角スペース区切りで与えられるので、a_1, …, a_n をそのままの順番で改行区切りで出力してください。

n
a_1 a_2 ... a_n

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

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


入力例

2
1 5

出力例

1
5

前問の半角スペース区切りで並べるよりも、改行区切りで並べる方が簡単に思うのだけれど。

Python
N = int(input())
A = [int(x) for x in input().split()]
for a in A:
    print(a)

わざわざ int 型のリストに変換する必要はなく、A = input().split() で良いことに後で気が付いた。

VBA
N = Cells(1, 1)
A = Split(Cells(2, 1), " ")
For Each v In A
    Debug.Print v
Next

標準入出力

毎年 5 月 1 日に、自分が運営している会社の社員一覧表を作成しています。表は年度ごとに更新され、社員の名前と年齢が載っています。
ところで、会社のメンバーは昨年度から全く変わらず、社員の誕生日は全員 7 月 7 日だったので、前年度の一覧表の年齢欄をそれぞれ +1 するだけで今年度の表が作れることにパイザ君は気づきました。

昨年度の一覧表が与えられるので、今年度の一覧表を出力してください。入力された通りの順番で、社員 s_i の名前と、その社員の今年度の年齢を半角スペース区切りでN行出力してください。

N
s_1 a_1
...
s_N a_N

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

・1 ≤ N ≤ 50
・s_i(1 ≤ i ≤ N)は 1 文字以上 10 文字以下の文字列
・s_i(1 ≤ i ≤ N)の各文字は英小文字または英大文字または数字
・18 ≤ a_i ≤ 120(1 ≤ i ≤ N)


入力例

1
Yamada 30

出力例

Yamada 31

最初に思いつくのは辞書型だったけれど、別にデータを保持し続ける必要はないのだから、データを受けて加工して出力することを繰り返せば良いだけ?

Python
N = int(input())
for _ in range(N):
    s,a = input().split()
    print(s,int(a)+1)
VBA
N = Cells(1, 1)
For i = 1 To N
    SA = Split(Cells(i + 1, 1), " ")
    Debug.Print SA(0) & " " & Val(SA(1)) + 1
Next

最後に

社員の誕生日が全員同じとか、恐ろしいだろ。同じ誕生日の人を狙って採用しているんだろうか。たなかひろかずさんみたいに、全員が同姓同名の会社とかも作れないことはなさそう。LeoSaki(旦那)は「たなか」じゃないので、たなかひろかずさん運動は羨ましいなぁと思っている。LeoSaki(旦那)の苗字は全国で 1,000 人ちょっとくらいしかいないらしい。

まだまだ C ランクレベルアップメニューの前半戦。どんどん進めていこうと思う。

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

Pythonpaiza,学習,Python

Posted by LeoSaki