質問: ### 前提・実現したい pythonで数値を入力するとその数字の階乗を表示するプログラムを、 再帰呼び出しを使って作成しようとしています。 課題の条件でfor whileの使用は制限されたいます。 ### 発生している問題・エラーメッセージ インタプリタに直接一行ずつ打ち込むとしっかり動いたのですが、 ファイルから実行?するとうまく処理が行われません。 ``` エラーメッセージ ``` 特に何かエラーメッセージが出ているわけではありません ただ、望み通りの処理が行われていません。 ### 該当のソースコード ``` def function(num): if num<=1: return num return num*function(num-1) num=int(input()) print(function(num)) ``` ### 試したこと defの位置を変える いっったん別の変数に格納してからprintをかけてみる。 ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: VSCodeでの実行時、"アクティブなファイルを実行"から実行していたのが原因みたいです。 ここから実行すると普段powershellと表示されている部分がCodeと表示されていて、inputに打ち込んだ数字がそのまま帰ってきてしまいます。 しっかりパスを打ち込んで実行したら正解が返ってきました。 皆様ご意見ありがとうございます。