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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

Q&A

解決済

3回答

6212閲覧

計算結果をテキストファイルに書き出したい。

Assalam_Aziz

総合スコア18

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Python 3.x

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

Python

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

0グッド

1クリップ

投稿2018/07/30 09:02

#問題点
以下のコードの計算結果をテキストファイルに書き出したいのですが、プログラミング歴が浅いため上手くコードを書くことが出来ません。

条件は初速度を0, 初期高度を100で行いました。時刻t と 速度v と 位置x の計算結果が出力するので、それをテキストファイルに書き出したいと考えています。

ご存知の方がいらっしゃいましたら、ご教授ください。よろしくお願いいたします。

python

1# -*- coding: utf-8 -*-""" 2freefall.pyプログラム 3自由落下のシミュレーション 4自由落下の運動法方程式を数値的に解く 5使い方 c:\>python freefall.py 6""" 7# 定数 8G = 9.80665 # 重力加速度 9 10# メイン実行部 11t = 0.0 # 時刻t 12h = 0.01 # 時刻の刻み幅 13 14# 係数の入力 15v = float(input("初速度v0を入力してください:")) 16x = float(input("初期高度x0を入力してください:")) 17print("{:.7f} {:.7f} {:.7f}".format(t, x, v)) # 現在時刻と現在の位置 18 19# 自由落下の計算 20while x >= 0: # 地面に達するまで計算 21 t += h # 時刻の更新 22 v += G * h # 速度の計算 23 x -= v * h # 位置の更新 24 print("{:.7f} {:.7f} {:.7f}".format(t, x, v)) # 現在時刻と現在の位置 25# freefall.pyの終わり

#参考文献
小高知宏『Pythonによる数値計算とシミュレーション』(2018, オーム社)
2.1.1 自由落下のシミュレーション
(https://www.ohmsha.co.jp/book/9784274221705/)

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

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

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

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

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

guest

回答3

0

print()fileオプションにファイルオブジェクトを指定することでそのままファイルに出力できます。

python

1with open("result.txt") as f: 2 while x >= 0: # 地面に達するまで計算 3 t += h # 時刻の更新 4 v += G * h # 速度の計算 5 x -= v * h # 位置の更新 6 print("{:.7f} {:.7f} {:.7f}".format(t, x, v), file=f) # 現在時刻と現在の位置

投稿2018/07/30 10:38

hayataka2049

総合スコア30933

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

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

0

ベストアンサー

以下のようにテキストファイルに出力したいということでよいのならば、

0.0100000 2.9890193 1.0980665 0.0200000 2.9770580 1.1961330 0.0300000 2.9641160 1.2941995 0.0400000 2.9501934 1.3922660 0.0500000 2.9352900 1.4903325

pyhon

1# 定数 2G = 9.80665 # 重力加速度 3 4# メイン実行部 5t = 0.0 # 時刻t 6h = 0.01 # 時刻の刻み幅 7 8# 係数の入力 9v = float(input("初速度v0を入力してください:")) 10x = float(input("初期高度x0を入力してください:")) 11print("{:.7f} {:.7f} {:.7f}".format(t, x, v)) # 現在時刻と現在の位置 12 13# 自由落下の計算 14with open("sample.txt", "a") as f: 15 while x >= 0: # 地面に達するまで計算 16 t += h # 時刻の更新 17 v += G * h # 速度の計算 18 x -= v * h # 位置の更新 19 result = "{:.7f} {:.7f} {:.7f}\n".format(t, x, v) 20 f.write(result)

と書くことができます。

投稿2018/07/30 09:15

crimnut

総合スコア380

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

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

0

スクリプト内でやらずとも、プロンプトで標準出力をファイルに保存することは可能です。
python freefall.py > freefall.txt でいかがでしょうか。

投稿2018/07/30 09:04

編集2018/07/30 09:06
kazto

総合スコア7196

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問