0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Paiza問題集】標準出力メニュー/行によって長さが違う二次元配列の表示

Posted at

Paiza問題集

Pythonで回答

標準出力メニュー/行によって長さが違う二次元配列の表示

Step01 N個の文字を半分ずつ出力

Step01
"""
N個の文字を半分ずつ出力
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step1
"""

# 数字を受け取る
num = int(input())

# 文字を半分ずつ出力
for i in range(1, num + 1):
    if i % (num//2) == 0:
        print(i)
    else:
        print(i, end=' ')

Step02 数値を異なる長さで2行出力

Step02
"""
数値を異なる長さで2行出力
 https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step2
"""

# 数字を受け取る
numbers = input().split(' ')
num1 = int(numbers[0])
num2 = int(numbers[1])

# num1の数字を表示
for i in range(1, num1 + 1):
    if i == num1:
        print(i)
    else:
        print(i, end=' ')

# num2の数字を表示
for i in range(1, num2 + 1):
    if i == num2:
        print(i)
    else:
        print(i, end=' ')

Step03 直角三角形の出力

Step03
"""
直角三角形の出力
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step3
"""

# 数字を受け取る
num = int(input())

# 数字の表示
for i in range(1, num+1):
    for j in range(1, i+1):
        if j == i:
            print(j)
        else:
            print(j, end=' ')

Step04 すべての行の長さが不定な 2 次元配列の出力

Step04
"""
すべての行の長さが不定な 2 次元配列の出力
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_step4
"""

# 数字を受け取る
num = int(input())

# 数行を受け取る
numbers = input().split(' ')

# 配列を作成する
number = [0]*num

# 配列に数字をintで格納する
for i in range(num):
    number[i] = int(numbers[i])

# 数字を表示する
for i in range(num):
    for j in range(1, number[i]+1):
        if j == number[i]:
            print(j)
        else:
            print(j, end=' ')

Final問題 【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な2次元配列の出力

Final問題
"""
【行によって長さが違う二次元配列の表示】すべての行の長さと値が不定な2次元配列の出力
https://paiza.jp/works/mondai/stdout_primer/stdout_primer__variable_array_boss
"""

# 配列の長さN,配列の区切る回数M
N, M = map(int, (input().split(' ')))

# 配列を作成
A = [0]*N
# 数行を受け取る
num = input().split(' ')
# 配列に格納する
for i in range(N):
    A[i] = int(num[i])

# 配列の作成
B = [0]*M
# 区切りの数字
sep = input().split(' ')
# 配列に格納する
for i in range(M):
    B[i] = int(sep[i])

# 配列の出力
first = 0
for i in B:
    for j in range(i):
        if j == i-1:
            print(A[first])
        else:
            print(A[first], end=' ')
        first += 1
0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?