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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

Q&A

解決済

1回答

1298閲覧

ファイルの読み書きについて、数値計算

n.Yahooo

総合スコア7

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

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

1グッド

1クリップ

投稿2020/04/20 09:50

前提・実現したいこと

パイソン勉強中です。ファイルの読み書きについて教えていただきたいです。

円柱の表面上に等間隔に点を設置させ、その座標を得るためのコードを書きました。今まではファイル読み書きをせず、print(X,Y,Z)として問題なく計算できていました。

最近ファイルの読み書きを勉強したので別のファイルにこの計算結果を書き込みたくコードを書き直しました。書き直した結果、ファイルに書き込みはされたのですが、結果、一部、計算途中のものが書き込まれてしまいました。
計算内容でなく、計算結果を書き込みたいのですが、何故このようになってしまうのでしょうか。

書き込まれたファイル内容(一部)

55,130 - 0.9sin(10),305.900000000000
55,130 - 0.9
sin(10),0.9*cos(1) + 305


###該当のソースコード

python3

1import numpy as np 2import math 3;######初期位置 (xo,yo,zo) 4xo = 65 5yo = 130 6zo = 305 7 8;#円柱半径 9r=0.9 10 11;######円柱表面座標取得 12from sympy import cos, sin 13x = lambda a: xo + a 14y = lambda s: yo + r * sin(s) 15z = lambda s: zo + r * cos(s) 16 17 18ao=-10 19with open('ファイル名','w') as f: 20 while ao <= 10: 21 so=0 22 while so <= 2*np.pi: 23 X=x(ao) 24 Y=y(ao) 25 Z=z(so) 26 print(TIF,IM,IC,x(ao),y(ao),z(ao),Az,El,IK,CWF,Color,sep=',',file=f) 27 so=so+1 28 ao=ao+1 29
DrqYuto👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

そのコードだとprintしたタイミングで書き込みが行われるので、全部書き込まれて一番最後の行が……という感じになるかと思います。

ループを抜けてからprintすれば一回です。ただし、同じprintを書くとカウンタが更新されて11になってからその結果で書き込まれるので、ちょっと不都合かもしれません。うまく動くように工夫してみてください。

投稿2020/04/20 10:38

hayataka2049

総合スコア30933

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

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

n.Yahooo

2020/04/20 13:52

ありがとうございます。 自分が思いこんでいたタイミングと実際にPC内でprint実行されていたタイミングがずれていたのですね。勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問