質問: int(radian) * 180 print("弧度法で " + srt(radian) + "π" + "は度数法では " + str(radian_to_angle) + "° です" #ここまでがdefで関数を定義した。以下でそれを実行。、 angle() ```
回答: ここまでの内容を自力で書いているならば、慌てずにエラーを解読していけばとりあえず機能させる実力はついていると感じます。 まずは落ち着いてエラー周辺のコードと過去のプログラムを見直してみてください。 アドバイス * SyntaxError: invalid syntax(最初のif文で発生) + `=`は**代入**であり、比較には`==`を用いる `to_radian = y`は変数`to_radian`に変数`y`を代入している * NameError: name 'y' is not defined + 変数`y`は定義されていない。`"y"`に書き換えて文字列と比較する * NameError: name 'srt' is not defined + `str`を`srt`と間違わない * SyntaxError: invalid syntax (`else:`以下で発生) + `print()`の閉じ括弧を忘れない(閉じていない箇所は2箇所あります) とりあえずアドバイス通りに書き直せば、コンパイルエラーは発生せずに実行できるようになります。 ただし実行するとint型への変換で桁落ちする場合や、入力エラーが発生する場合があります。 * degree to radianで 90 を入力する > > 度数法で 90°は弧度法では 0.0ラジアンです。 > > > * radian to degreeで 1.57を入力する > > ValueError: invalid literal for int() with base 10: '1.57' > > > 上記は目的と異なる出力だと思いますので、intやfloatについて復習しながら頑張ってください。 ちなみにコード内のコメント「上のinputで~」にて具体的な質問内容が記述されていますが、コードを熟読する前に困っている内容が一目瞭然となりますので質問文に書いた方が回答を得やすいと思います。