# Python Math - Exercise ###### tags: `Python課堂練習題目` **例1**: 以下の条件を満たし、円周、円面積を計算出来るプログラムを作ってください。 * まず、「半径」入力できるようにすること * 円周率には 3.14 を使うこと * 円周、円面積を計算し、出力してください。 ``` **入力例:** Please input value r:1 **出力例:** The round: 6.28 The area: 3.14 ``` :::info Code: ```python= r = float(input("Please input value r:")) r_Round = r * 2 * 3.14 r_Area = r * r * 3.14 print("The round:", r_Round) print("The area:", r_Area) ``` 結果: ![](https://i.imgur.com/u7n9gvs.png) ::: --- :::success **努力的楠楠へのアドバイス:** 出力例とそっくり出力するコツは、コピーすることです。 **例えば:** 以下のように出力したい場合、 「面積を二倍にすると、長辺:297.0短辺:420.0面積:124740.0」 - まず、老師はこれをコピペーして文字列にします。 ```python= print("面積を二倍にすると、長辺:297.0短辺:420.0面積:124740.0") ``` - そして、変数を埋め込みたい箇所を中括弧にします。 ```python= print("面積を二倍にすると、長辺:{}短辺:{}面積:{}") ``` - 最後、format()関数を使って変数を埋め込みます。 ```python= print("面積を二倍にすると、長辺:{}短辺:{}面積:{}".format(long,short,area)) ``` ::: ## 問題1:次の数の平方根を求め、結果を小数点以下第二位まで出力してください。(Mathを使ってください) ![](https://i.imgur.com/kVsWqAF.png) ``` **出力例:** 2.00 -5.00 3.00 7.00 ``` :::info 入力例ないので、input()関数を使わなくてもいいですよ。 例:print(math.sqrt(2)) Code: ```python= import math print("{:.2f}".format(math.sqrt(4))) print("-{:.2f}".format(math.sqrt(25))) print("{:.2f}".format(math.sqrt(3**2))) print("{:.2f}".format(math.sqrt((-7)**2))) ``` 結果: ![](https://i.imgur.com/2iKO8jL.png) ::: ## 問題2:以下の条件を満たし、矩形の面積を二倍にした際の長辺と短辺と面積を求めるプログラムを作成してくだささい。 * まず、大きくしたい長辺と短辺を入力できるようにすること。 * 次に、入力された長辺と短辺をそれぞれルート2に掛け、相乗させることで面積を求めること。 * 出力例のように小数点以下第一位まで出力すること。 **面積を2倍に拡大する場合、長辺と短辺をそれぞれ√2をかけます。** :::success ヒント: 例えば、長辺3、短辺2の矩形Aの面積は3 x 2 = 6です。 矩形Aの面積を二倍にしたい場合は、(3*√2)x(2*√2)で求めます。 なので、面積を二倍にした場合、長辺は(3 x √2)で短辺は(2 x √2)です。 ::: ``` **入力例:** long side=210 short side=297 **出力例:** 面積を二倍にすると、長辺:297.0短辺:420.0面積:124740.0 ``` :::info Code: ```python= L=int(input("input long side=")) S=int(input("input short side=")) import math side_L=float((math.sqrt(2))*L) side_S=float((math.sqrt(2))*S) area=float(side_L*side_S) print("面積を二倍にすると、長辺:","{:.1f}".format(side_L),"短辺:","{:.1f}".format(side_S),"面積:","{:.1f}".format(area)) ``` 結果: ![](https://i.imgur.com/N8P1joL.png) ::: ## 問題3:次の数の絶対値を計算し結果を出力してください。(Mathを使ってください。) ![](https://i.imgur.com/QgTQ9bW.png) :::info Code: ```python= import math print("{:.1f}".format(math.fabs(-7))) print("{:.1f}".format(math.fabs(5))) print("{:.1f}".format(math.fabs(0))) print("{:.1f}".format(math.fabs(10))) print("{:.1f}".format(math.fabs(-5/3))) ``` 結果: ![](https://i.imgur.com/IL9VerS.png) ::: ## 問題4:下の表は、相羽さんが道に迷って歩いた距離(m)を、西に行くと負の数で、東に行くと正の数で表しいてるものです。相羽さんは、計20分路頭に迷っていました。相羽さん分速何mで歩いていましたか?(絶対値を使ってください) | 名前 | 東 | 西 | 東 | 西 | 東 | | - | - | - | - | - | - | | 相羽| +66 | -29 | +87 | -25 | +38 | **公式:** ![](https://i.imgur.com/xgYQsfl.png) ``` **出力例:** 相羽さんは分速12.25メートルで歩いていました。 ``` :::info Code: ```python= import math speed=((math.fabs(66)+math.fabs(-29)+math.fabs(87)+math.fabs(-25)+math.fabs(38))/20) print("相羽さんは分速",speed,"メートルで歩いていました。") ``` 結果: ![](https://i.imgur.com/ZwFRfAq.png) ::: ## 問題5:三平方の定理を使ってテレビのディスプレイサイズを求めるプログラムを作成してください。 ![](https://i.imgur.com/jbn0Rui.png) **インチ(型)= 対角線の長さ** 【プログラム説明】 * テレビの縦aと横bを入力できるようにすること。 * 三平方の定理を使用し対角線の長さを計算すること。 * 計算した結果をインチにして出力例のように出力すること。 (埋める文字「*」、フィールド幅6、中央寄せ、小数点以下第一位まで表示すること。) **公式:** ![](https://i.imgur.com/y8u2hlS.png) ``` 入力例1: テレビの縦の長さ:57.45 テレビの横の長さ:32.36 出力例1: ご入力のテレビは*26.0*型 入力例2: テレビの縦の長さ:66.29 テレビの横の長さ:37.34 出力例2 ご入力のテレビは*30.0*型 ``` :::info Code: ```python= a=float(input("テレビの縦の長さ:")) b=float(input("テレビの横の長さ:")) import math line=(math.sqrt((math.pow(a,2))+(math.pow(b,2)))) inch=(math.fabs(line))/2.54 print("ご入力のテレビは{:*^6,.1f}".format(inch),"型") ``` 結果: ![](https://i.imgur.com/YRZb4Hb.png) ::: ## 問題6:外国人はよくメイド喫茶に行きます。但し、料金システムが難しくてとても気軽に行けるものではありません。外国人のために以下の条件を満たす料金を計算するプログラムを作成しましょう。 * まず、ご入国料金を入力してすること。 * 1時間ごとにご入国料金がかかるので、滞在時間を入力すること。 2.5時間滞在した場合、3時間とみなす。 * お支払い金額を出力すること。 ``` **入力例1:** ご入国料金:700 滞在時間:3.5 **出力例1:** お支払金額:2800.0円 **入力例2:** ご入国料金:1200 滞在時間:6.4 **出力例2:** お支払金額:8400.0円 ``` :::info Code: ```python= fee=int(input("ご入国料金:")) import math time=float(input("滞在時間:")) print("お支払金額:",(math.ceil(time)*fee),"円") ``` 結果: ![](https://i.imgur.com/2C2Z3OH.png) ::: ## 問題7:消費税を計算するプログラムを作成してください。<br>お支払金額の小数点以下を切り捨てましょう。 ``` **入力例1:** 消費税:0.08 商品価格:1980 **出力例1:** お支払金額:2138円 **入力例2:** 消費税:0.1 商品価格:546213 **出力例2:** お支払金額:600834円 ``` :::info Code: ```python= tax=float(input("消費税:")) price=int(input("商品価格:")) money=int(price*tax) import math print("お支払金額:",math.floor(money+price),"円") ``` 結果: ![](https://i.imgur.com/KHUSB6f.png) ::: ## 問題8:球の表面積、体積を求めなさい。 ![](https://i.imgur.com/wfqD0Ag.png) **小数点以下第二位まで表示してください。** ``` **入力例:** 半径を入力してください:3 **出力例** 球の表面積:113.10(cm2) 球の体積:113.10(cm3) ``` :::info Code: ```python= r=int(input("半径を入力してください:")) import math area=(4*(math.pi)*(math.pow(r,2))) v=((4/3)*(math.pi)*(math.pow(r,3))) print("球の表面積:{:.2f}".format(area),"(cm2)") print("球の体積:{:.2f}".format(v),"(cm3)") ``` 結果: ![](https://i.imgur.com/ahUBT09.png) ::: ## 問題9:BMI(Body Mass Index) 健康のために肥満度をチェックしてみましょう。 * 身長と体重を入力できるようにすること。 * 肥満度(BMI=体重(kg)÷身長(m)の二乗)を計算すること。 * 結果を小数点以下第二位まで出力すること。 ``` 入力例: 身長(m)を入力して下さい:1.7 体重(kg)を入力して下さい:64 出力例: BMI = 22.15 ``` :::info Code: ```python= m=float(input("身長(m)を入力して下さい:")) kg=int(input("体重(kg)を入力して下さい:")) import math BMI=float(kg/(math.pow(m,2))) print("BMI={:.2f}".format(BMI)) ``` 結果: ![](https://i.imgur.com/aBSb5UC.png) ::: ## 問題10:次の公式でSとsを計算できるプログラムを作ってください。 使用者に三辺a、b、cを入力させ、sとSを計算して出力してください。 (mathモジュールを使ってください。) ![](https://i.imgur.com/mWayNHM.png) ``` **入力例:** Please input a:15 Please input b:20 Please input c:25 **出力例:** S:150.0 s:30 ``` :::info Code: ```python= a=float(input('Please input a:')) b=float(input('Please input b:')) c=float(input('Please input c:')) s=(a+b+c)/2 import math print("S:",math.sqrt(s*(s-a)*(s-b)*(s-c))) print("s:",int(s)) ``` 結果: ![](https://i.imgur.com/pHIHM85.png) :::