Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

このコード、どこが間違いか分かりますか?

私のプログラムのどこに問題があるのか、そう簡単には時間を割いてくださらないと思いますが、教えてくださると助かります。
概要を説明します。
2020年8月2日にインストールしたatomエディタにて、
htmlとpythonを用いて、体重と身長からBMIを算出するwebアプリを作ろうとしました。
実行すると、
入力は成功しますが、
出力はされません。
この「出力されない原因」をあなたが分かったときには、教えてくださると幸いです。

___________________________
私のプログラムと実行結果は以下です。

index.html
↓↓↓↓↓↓
qiita1.jpg
bmi.py
↓↓↓↓↓↓
qiita2.jpg
実行結果
↓↓↓↓↓↓
qiita3.jpg

本当は"計算だ"ボタンの下部にBMIが出力されるはずなんですが、表示されません。

教えてくださるととても助かります。
よろしければご指摘・訂正版コード等くださると嬉しいです。

0

2Answer

多分ですけど、イベント関数のcalc_bmiには引数が必要なはずです。使わないにしても定義しておかないとエラーになると思います。

def calc_bmi(event):

エラーが発生している場合、F12キーで表示される開発者ツールのコンソールタブに表示されているはずです。確認してみてください。

1Like

Comments

  1. 追加で、<script>タグは</body>の前に置くようにした方がいいかも。<button>や<div>が<script>より前に無いとエラーになりそうです

ざっと同じようなコードを試したところ、下記エラーが出ています。
(質問の際はスクリーンショットでは無く、コードをテキストとして貼り付ければ、実際に試してくれる回答者が増えるでしょう)

Traceback (most recent call last):
TypeError: calc_bmi() takes 0 positional argument but more were given

@chromia さんの回答にある、引数の数の不一致ですね。

<script> タグの位置の問題は今回は関係ありません。Brython のコードを実行するのはブラウザ標準の処理系ではなく、brython であり、これの実行タイミングは <body> 要素の onload 時に設定されているからです)

1Like

Your answer might help someone💌