引数のない関数

私たちはこれまでにPythonの関数を使ってきました。実際、最初のプログラムですでに関数を使用していました。print()は実は関数です。min()max()input()sorted()、そして他のすべての括弧付きのコマンドは関数です。
関数は複数の命令を実行し、場合によっては結果を返します。たとえば、min()は複数の値の最小値を計算し、その値を返します。一方、print()は値を出力に表示します。
関数は、コードの繰り返しをなくすのに特に便利です。自分自身でカスタム関数を定義することもできます。たとえば、特定のオブジェクトを3回プリントし、その間に他の処理を行いたいとします。
print('*')
print('##')
print('***')
print('####')
print('*****')

n = int(input())
print('~' * n)

print('*')
print('##')
print('***')
print('####')
print('*****')

name = input()
print(f'Hi, {name}')

print('*')
print('##')
print('***')
print('####')
print('*****')
def print_triangle():
    print('*')
    print('##')
    print('***')
    print('####')
    print('*****')

print_triangle()
n = int(input())
print('~' * n)

print_triangle()
name = input()
print(f'Hi, {name}')

print_triangle()
関数を定義するには、defキーワードの後に関数名(この場合はprint_triangle)を記述し、その後に()と、関数ブロックの開始を示すための:を付けます。関数が実行すべき命令の一覧は、関数本体内のインデントされたブロックに配置します。
これらのプログラムはどちらもまったく同じ操作を実行しますが、2つ目のプログラムでは繰り返しの部分を関数で定義し、コードがコピー&ペーストされないようにしています。
一方、最初のプログラムでは多くのコピー&ペーストがあり、もし三角形をプリントする際の*%に変更したい場合、たくさんの変更を行い、すべての行を確認して変更する必要があります。これはコードが大きくなると非常に混乱しやすく、エラーが発生しやすくなります。

チャレンジ

の長方形をプリントする関数を定義し、それを3回呼び出してください。長方形の枠は#記号で、内側は空白にしてください。
__Output__
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
############
#          #
#          #
#          #
#          #
#          #
#          #
#          #
#          #
############
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue