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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python

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

Q&A

解決済

4回答

417閲覧

円周率の桁数を試しに求めようとしたのですが、何が間違っているのかわかりません。ザ初心者ですのでよろしくお願いします。

Hayato0513

総合スコア27

Python

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

0グッド

0クリップ

投稿2019/05/17 11:06

編集2019/05/17 11:39

発生している問題・エラーメッセージ

エラーメッセージ File "./pi.py", line 3 num=list[] ^ SyntaxError: invalid syntax````` ### 該当のソースコード import math n= math.pi num=list[] num=num.append(n) digits=len(num) print(digits) こに言語名を入力 python ### 試したこと インデントしてみたりしました。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。pi.py というのはファイル名です。具体的に何が間違っているからコードが実行されないのか教えてもらえると嬉しいです。

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

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

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

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

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

CHERRY

2019/05/17 11:24

コードだけ書かれても、どのような状況が発生しているのかわかりません。 コードを実行した結果、どの様な結果になって、その結果のどこが問題なのかを具体的に記載していただけないでしょうか?
maisumakun

2019/05/17 11:54

円周率は永遠に割り切れない無理数ですが、求めたいものは何でしょうか?
Hayato0513

2019/05/17 12:07

ご回答ありがとうございます! はい、円周率は永遠に割り切れない無理数なのは存じていますが、パイソンならどのくらいの桁数を計算で算出できるのか好奇心でコードを初めてかいてみたのですが笑 求めたいものは円周率の桁数です。
guest

回答4

0

num=list[]

numを配列/リストとして初期化したいなら、num=[]

num=num.append(n)

um.append(n)では、 num というリスト(配列)に、 n を追加しただけ。 この時、 n は円周率が入っていますが、 これは、数値としての 円周率なので、桁数は得られません。

単に、math.pi の桁数だったら、
print(len(str(math.pi)))

求めるものかは不明ですが、、、。

投稿2019/05/17 12:13

pepperleaf

総合スコア6383

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

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

Hayato0513

2019/05/17 12:16

あ、気づきませんでした!!ご丁寧な回答ありがとうございます!!! 非常に参考になりました!!!
guest

0

pythonのfloatは64bit浮動小数点数なので、有効桁数は約16桁です。

その下にも数字が続いていますが、実際の円周率の数字とは違います。

倍精度浮動小数点数 - Wikipedia

python

1>>> "{:.200f}".format(math.pi) 2'3.14159265358979311599796346854418516159057617187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'

10進に直すと一応49桁あるのかな。正しいのは途中までです。

投稿2019/05/20 03:07

編集2019/05/20 03:08
hayataka2049

総合スコア30933

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

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

0

参考情報

  • python/cpython

https://github.com/python/cpython/blob/master/Modules/mathmodule.c#L73

...

static const double pi = 3.141592653589793238462643383279502884197;

...

  • numpy/numpy/core/include/numpy/npy_math.h

https://github.com/numpy/numpy/blob/cd2e52ce9dc54b0199beba25bd5e02ce54d60963/numpy/core/include/numpy/npy_math.h#L79

...

#define NPY_PI 3.141592653589793238462643383279502884 /* pi */

...

投稿2019/05/18 23:38

katoy

総合スコア22324

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

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

0

ベストアンサー

SyntaxErrorというのは、コードがpythonとしては解釈できない、ってことです。
そのコードのそれぞれの行がどういう意味を持つのか、もいちどみていけばどうでしょう

投稿2019/05/17 11:54

編集2019/05/17 11:55
y_waiwai

総合スコア87749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問