# Python print() and format - Exercise
###### tags: `Python課堂練習題目`
**例1**:
以下の条件を満たし、円周、円面積を計算出来るプログラムを作ってください。
* まず、「半径」入力できるようにすること
* 円周率には 3.14 を使うこと
* 円周、円面積を計算し、出力してください。
```
**入力例:**
Please input value r:1
**出力例:**
The round: 6.28
The area: 3.14
```
:::info
Code:
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)
結果:

:::
---
## 問題1:print()関数の引数に以下の変数をすべて渡して「sep」に適切な値を設定し、出力例の通りに出力してください。(sepのみ)
```
koLove="いぬ"
brianLove="きつね"
suLove="うさぎ"
**出力例:**
いぬ
きつね
うさぎ
```
:::danger
Code:
` <==このバッククォートですよ!
```python=
koLove="いぬ"
brianLove="きつね"
suLove="うさぎ"
print(koLove,brianLove,suLove,sep="\n")
```
結果:

:::
## 問題2:print()関数の引数に以下の変数をすべて渡して「sep」に適切な値を設定し、出力例の通りに出力してください。(sepのみ)
```
string = " と "
koLove = "いぬ"
brianLove = "きつね"
suLove="うさぎ"
**出力例:**
いぬ と きつね と うさぎ
```
:::info
Code:
```python=
string=" と "
koLove="いぬ"
brianLove="きつね"
suLove="うさぎ"
print(koLove,string,brianLove,string,suLove,sep=" ")
```
結果:

:::
## 問題3:print()関数の引数「end」に適切な値を設定し、以下の変数の値を出力例の通りに出力してください。(endのみ)
```
koLove = "THE IDOLM"
samLove = "STER MILLION"
everyoneLove = "LIVE"
**出力例:**
THE IDOLM@STER MILLION LIVE!
```
:::info
Code:
```python=
koLove="THE IDOLM"
samLove="STER MILLION"
everyoneLove="LIVE"
print(koLove,end="@")
print(samLove,end=" ")
print(everyoneLove,end="!")
```
結果:

:::
## 問題4:print()関数の引数「sep」と「end」に適切な値を設定し、以下の変数の値を出力例の通りに出力してください。
```
koLove="Fate"
samLove="Grand"
everyoneLove="Order"
**出力例:**
Fate/Grand Order
```
:::info
Code:
```python=
koLove="Fate"
samLove="Grand"
everyoneLove="Order"
print(koLove,end="/")
print(samLove,end=" ")
print(everyoneLove)
```
結果:

:::
## 問題5:format関数を使用して文字列に以下の変数を埋め込んでください。
```
sign1="おひつじ座"
sign2="しし座"
sign3="いて座"
出力例:
今日の星座ランキングは、一位:おひつじ座、二位:しし座、三位:いて座
```
:::info
Code:
```python=
sign1="おひつじ座"
sign2="しし座"
sign3="いて座"
print('今日の星座ランキングは、一位:{0} 二位:{1} 三位:{2}'.format(sign1,sign2,sign3))
```
結果:

:::
## 問題6:以下のコードの{}にindexを入力し、出力が出力例になるようにしてください。

```
出力例:
くらい
```
:::info
Code:
```python=
wordA="い"
wordB="く"
wordC="ら"
print("{1}{2}{0}".format(wordA,wordB,wordC))
```
結果:

:::
## 問題7:以下の条件を満たして出力例のように出力してください。
* 2021の空白を*で埋め、左寄せ、フィールド幅8にし、出力してください。
* 12の空白を#で埋め、中央寄せ、フィールド幅8にし、出力してください。
* 31の空白を0で埋め、右寄せ、フィールド幅8にし、出力してください。
```
**出力例:**
|2021****|
|###12###|
|00000031|
```
:::info
Code:
```python=
year="2021"
print("{:*<8}".format(year))
number="12"
print("{:#^8}".format(number))
number2="31"
print("{:0>8}".format(number2))
```
結果:

:::
## 問題8:吸血鬼さんはしょく...研究のため人間の血液量を知りたくて、我々にオファーをしてきました。人の血液を求めるプログラムを作成してください。(コメントを加えてください)
* 体重を入力できるようにすること
* 公式を使用して血液の重さと容量を出力すること。(小数点以下3桁まで表示)
**公式:**
血液量(重さ kg) = 体重kg / 13
血液量(容量 ml) = 血液量(重さ kg) / 1.055 x 1000
```
**入力例:**
Please input your weight:67.5
**出力例:**
血液量(重さ):5.192kg
血液量(容量):4921.619ml
```
:::info
Code:
```python=
weight=float(input("Please input your weight:"))
# 血液量(重さ)の計算
kg=weight/13
# 血液量(容量)の計算
ml=kg/1.055*1000
print("{:.3f}".format(kg),"kg")
print("{:.3f}".format(ml),"ml")
```
結果:

:::
## 問題9:ATMからお金を下す簡略化のプログラムを作ってください。(データタイプを意識してください)、(コメントを加えてください。)
* まず、所持金を表す変数「money」を作成し、2000000を代入させること。
* 次に、ユーザーにいくら下すかを入力させること。
* 最後、一定のフォーマットに従い、残高を出力すること。
1. 「ご利用明細」中央寄せ、フィールド幅18。
2. 「お取引金額」中央寄せ、フィールド幅18。
3. 「下す金額」右寄せ、フィールド幅22。
4. 「残高の金額」右寄せ、フィールド17、数値の区切り文字を設定すること、小数点以下第2位まで表示すること。
```
money=200000
**入力例1:**
Input the amount of withdrawal:390
**出力例1:**
------------------------
| ご利用明細 |
------------------------
| お取引金額 |
------------------------
| 390.0|
------------------------
|残高: 199,610.00|
------------------------
**入力例2:**
Input the amount of withdrawal:765.765
**出力例2:**
------------------------
| ご利用明細 |
------------------------
| お取引金額 |
------------------------
| 765.765|
------------------------
|残高: 199,234.23|
------------------------
```
:::danger
Code:
```python=
# 所持金
money=200000
# 取引金額入力
withdrawal=float(input("Input the amount of withdrawal:"))
# 残高金額の計算
balance_amount=money-withdrawal
print("{:^18}".format("ご利用明細"))
print("{:^18}".format("お取引金額"))
print("{:>22}".format(withdrawal))
print("残高:{:>17.2f}".format(balance_amount))
```
結果:
**ちゃんと、" - " と " | "をプリントしましょう~~
直接出力例からコピーしてもいいですよ**

:::
## 問題10:🍎園を経営している林吾さんは在庫管理で悩まされています。そんな林吾さんのために🍎の個数の入力ができ、ダース数を表示できるプログラムを作成せよ!(コメントを加えてください)
* 現在りんごの在庫個数を表す変数「stock」を使用してプログラムを書いていきましょう。
* まず、追加するりんごの個数を入力できるようにすること。
* 追加した後の在庫個数を表示すること。
* りんごは1ダースで出荷するのでダース数を出力すること。
**頑張ってformat関数を使って以下のように出力すること**
```
stock=12
**入力例1:**
追加する個数を入力してください:0
**出力例1:**
アイテム: りんご
個数: 12
ダース数: 1
**入力例2:**
追加する個数を入力してください:40
**入力例2:**
アイテム: りんご
個数: 52
ダース数: 4
```
:::info
Code:
```python=
stock=12
# 追加するりんごの個数
add=int(input("追加する個数を入力してください:"))
# 追加した後の在庫戸数の計算
add_stock=stock+add
# ダース計算
dozen=add_stock//12
print("アイテム:","りんご",end="\n")
print("個数:",add_stock,end="\n")
print("ダース数:",dozen,end="\n")
```
結果:

:::