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

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

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

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

Q&A

解決済

3回答

376閲覧

python 関数 プログラムを完成させたい

TokyoNeetRazers

総合スコア18

Python

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

0グッド

0クリップ

投稿2022/06/14 07:32

python

1def absolute(a,b): 2 import math 3 a=math.fabs(a) 4 b=math.fabs(b) 5 return a,b 6 7def calc(absolute): 8 sum=int(a)+int(b) 9 return sum 10 11a=input("1つ目の値=") 12b=input("2つ目の値=") 13 14print(calc(sum))

1.引数で受け取った数値の絶対値を返す関数absolute
2.絶対値の計算はathモジュールを使います。
3.2つの値を受け取り足し算してint形に戻すcalc
を条件に式を書いています。ですが、この式だと結果がただの足し算になり、絶対値に直してから足し算されていません。どのように改善すればよいでしょうか。
理想の実行結果はこちらです。

1つ目の値= -10
2つ目の値= -3
13

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

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

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

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

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

guest

回答3

0

ベストアンサー

すでにご回答されていますが、下記のような感じでしょうか?

Python

1import math 2 3def absolute(a,b): 4 a=math.fabs(a) 5 b=math.fabs(b) 6 return a,b 7 8def calc(a, b): 9 abs_a, abs_b = absolute(a, b) 10 return int(abs_a + abs_b) 11 12a = int(input("1つ目の値=")) 13b = int(input("1つ目の値=")) 14 15print(calc(a, b))

投稿2022/06/14 07:47

編集2022/06/14 08:08
k-ura

総合スコア23

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

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

TokyoNeetRazers

2022/06/14 08:04

intで値を表示させたい場合はどこでintに変換すればよいのでしょうか?abs_a,abs_bのところですか?
k-ura

2022/06/14 08:11 編集

あ、失礼しました。 return int(abs_a + abs_b) でもいいですし、 a=int(math.fabs(a)) b=int(math.fabs(b)) でも、intになります。
TokyoNeetRazers

2022/06/14 08:13

すごい勉強になりましたありがとうございました。
guest

0

おそらく、print(calc(absolute(a), absolute(b))) のように使うんじゃないないでしょうか。

  • absolute() は1つの引数を受け取って1つの値を返す関数だと思います。
  • calc() は「2つの値を受け取り」と条件に書いてありますが、現状のコードだと1つしか引数がありません。

投稿2022/06/14 07:38

int32_t

総合スコア20845

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

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

0

print(calc(sum))

calcという関数に、sumという引数を与えて実行させてますが、calc関数の方ではその引数を全く使用していません。
ということで、

sum=int(a)+int(b) return sum

というコードを実行することになりますが、絶対値に直すとかはしてませんね。

投稿2022/06/14 07:44

y_waiwai

総合スコア87749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問