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