質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

490閲覧

関数の末尾にprint()を入れたときの処理について

Yurie_pirupiru

総合スコア4

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/01 05:39

編集2022/01/12 10:55

前提・実現したいこと

オライリー・ジャパンのpythonチュートリアルの書籍から
P.28の例題です。

フィボナッチ級数を任意の上限まで書き出す関数の作成です。
そこで、関数の定義で、最後にprint()の処理が何を指しているのかわかりません。

def fib(n):
a, b = 0, 1
while a < n:
print(a,end=' ')
a, b = b, a+b
** print()** ←この処理が何なのかが理解できません

fib(2000)

処理後----------------------------
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

末尾のprint()を削除した場合

処理後は『0』が追加されています。

def fib(n):
a, b = 0, 1
while a < n:
print(a,end=' ')
a, b = b, a+b
** print()** ←この処理が何なのかが理解できません

fib(2000)

処理後----------------------------
def fib(n):
a, b = 0, 1
while a < n:
print(a,end=' ')
a, b = b, a+b

fib(2000)

処理後----------------------------
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

BeatStar

2019/09/01 06:00

コードは "<コード>" (場合によっては"<code>") を押して、その中に書いてください。 Pythonはインデントによってブロックを表現するので、意味が変わってきますよ。
LouiS0616

2019/09/01 06:54

実行環境は何ですか?
Yurie_pirupiru

2019/09/01 07:26

>コードは "<コード>" (場合によっては"<code>") を押して、その中に書いてください。 Pythonはインデントによってブロックを表現するので、意味が変わってきますよ。 ↑私が初心者すぎるため、難しくてわかりませんでした。 調べてみます。ありがとうございます!
Yurie_pirupiru

2019/09/01 07:27

>実行環境は何ですか? python3.7です。
BeatStar

2019/09/01 07:53

"<コード>" のやつは、編集するところにあります。
guest

回答1

0

print 関数は引数無しで呼び出された場合 改行 ( \n ) を出力します。0 は出力しないはずですが...

print()print("\n", end="") と同値です。 print 関数は end= を指定しない場合必ず最後に改行を出力します。( end のデフォルト値が改行)


最後の出力の後に適当な出力をすれば違いがわかるはずです。

Python

1def fib(n): 2 a, b = 0, 1 3 while a < n: 4 print(a,end=' ') 5 a, b = b, a+b 6 # print() # コメントアウトで切り替えてみる 7 8fib(2000) 9print("End of calculation")

print() あり

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 End of calculation

print() なし

0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 End of calculation

投稿2019/09/01 05:55

編集2019/09/01 06:05
namnium1125

総合スコア2043

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yurie_pirupiru

2019/09/01 07:09

ありがとうございます、理解できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問