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

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

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

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

Q&A

解決済

2回答

595閲覧

Pythonの基礎問題の質問です

asuka_wataki

総合スコア6

Python

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

0グッド

0クリップ

投稿2021/01/05 08:09

Pythonの勉強中なのですが,以下のコードを実行するとエラーなどは特に出ず実行だけで終わってしまいます.
どこを直したり追加したりすればよいのでしょうか?

該当のソースコード

import math def ex3_4(vp, vs, t): vp = 6 vs = 3 t = 2 p = (vp * vs) / (vp - vs) * t return (p)

補足情報(FW/ツールのバージョンなど)

python3.9使っています

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

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

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

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

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

int32_t

2021/01/05 08:15 編集

関数ex3_4()は何も出力していないし、呼ばれてもいません。どういう動作を期待していますか?
guest

回答2

0

ベストアンサー

問題1
pythonの関数は、呼び出されると値を返します。
asuka_watakiさんのプログラムは関数を定義しているだけで、それを呼び出していません。

問題2
pythonの関数の引数、この場合はvpとvsとtは、呼び出す時に値を与えるものです。

問題3
ファイルに入ったプログラムを実行する場合はprint文などを使わないと出力されません。

問題4
このプログラムではimport mathは必要ありません。

これらを修正すると以下の様になります。

python

1def ex3_4(vp, vs, t): 2 p = (vp * vs) / (vp - vs) * t 3 return (p) 4 5print(ex3_4(6, 3, 2))

対話モードで実行すると以下のようになります。

python

1$ python 2Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32 3Type "help", "copyright", "credits" or "license" for more information. 4>>> def ex3_4(vp, vs, t): 5... p = (vp * vs) / (vp - vs) * t 6... return (p) 7... 8>>> print(ex3_4(6, 3, 2)) 912.0

コマンド実行モードで実行すると以下のようになります。

shell

1$ python ex3_4.py 212.0

投稿2021/01/05 08:44

ppaul

総合スコア24666

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

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

asuka_wataki

2021/01/05 09:29

関数内で呼び起こしたものの呼び出しの理解不足でしたね... ありがとうございます!
guest

0

計算はされていますよ。
def ex3_4(vp, vs, t)は、
vp, vs, tを変数としたex3_4という関数を定義しているだけなので、その関数を呼び出す必要があります。

以下追加しましたのでご確認ください。

Python

1import math 2def ex3_4(vp, vs, t): 3# vp = 6 4# vs = 3 5# t = 2 6 p = (vp * vs) / (vp - vs) * t 7 return (p) 8 9ans = ex3_4(6,3,2) #関数呼び出し 10print(ans) #結果を表示

ちなみに、vp, vs, tは外部から操作可能なのでコメントアウトしておきました。
ex3_4(,,)内の数値を与えれば数値を返してくれますよ。

投稿2021/01/05 08:35

yamadannn

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問