# 演習2: print()関数と変数の利用

## print()関数の利用
- 作業内容
  - 以下のように出力するプログラムを作成せよ。
  - Pythonインタプリタ上で実施するものとする。
- 補足
  - 3行同時に出力することは求めていない。結果として3行の出力となれば良く、1行毎に1つのprint()文を用いて構わない。
    - 1つのprint()文でまとめて出力することも可能である。どちらであっても構わない。
    - 変数は使わず、直接print()文の中にすべての文字列を埋め込んで構わない。
  - レポートにはコードと実行結果を掲載すること。
- 出力したい内容
```
naltoma に遭遇した。
naltoma はレポート課題の始まりを高らかに宣言した。
naltoma は楽しそうに待ち構えている。
```

`````{admonition} 補足
````{dropdown} 回答例
```python
# 例1
print('naltoma に遭遇した。')
print('naltoma はレポート課題の始まりを高らかに宣言した。')
print('naltoma は楽しそうに待ち構えている。')

# 例2
# \nを用いて1つの命令文で書いた例。
print('naltoma に遭遇した。\nnaltoma はレポート課題の始まりを高らかに宣言した。\nnaltoma は楽しそうに待ち構えている。')

# 例3
# sepオプションで改行文字を指定するとこういう書き方もできる。
sentence1 = 'naltoma に遭遇した。'
sentence2 = 'naltoma はレポート課題の始まりを高らかに宣言した。'
sentence3 = 'naltoma は楽しそうに待ち構えている。'
print(sentence1, sentence2, sentence3, sep='\n')
```
````
`````

---
## 変数を用いたprint()関数の利用
- 作業内容
  - naltomaは敵であり、敵はnaltoma以外にも数多く待ち構えている。他の敵にも対応しやすくするため、敵の名前を変数xに保存し、変数xを用いて演習2.1と同様の出力をするように実行するプログラムを作成せよ。
  - 敵の名前は naltoma 以外であれば任意とする。
  - 変数名は妥当だと思うものを検討してみよう。
  - Pythonインタプリタ上で実施するものとする。
- 補足
  - **変数名は妥当だと思う名称に変更** すること。
  - レポートには、コードと実行結果を掲載すること。

`````{admonition} 補足
````{dropdown} 回答例
```python
# 例1
enemy_name = 'ゴブリン'
print(enemy_name + ' に遭遇した。')
print(enemy_name + ' はレポート課題の始まりを高らかに宣言した。')
print(enemy_name + ' は楽しそうに待ち構えている。')

# 例2
enemy_name = 'ゴブリン'
print('{} に遭遇した。'.format(enemy_name))
print('{} はレポート課題の始まりを高らかに宣言した。'.format(enemy_name))
print('{} は楽しそうに待ち構えている。'.format(enemy_name))
```
````
`````

---
## スクリプトファイルの実行
- 作業内容
  - 演習2.2のコードを「ex2_3.py」というファイル名で保存し、シェル上で実行せよ。その結果が演習2.2と同じであることを確認せよ。
- 補足
  - ひとまず「シェル＝ターミナル」と考えて良い。Pythonインタプリタではなく、ターミナルで実行すること。
    - なお、出力確認の際に大きな違いが一つある。Pythonインタプリタ上では「変数名を書いて改行」すると、その変数の中に保存している値が出力される。しかしスクリプトファイル実行の場合には、同じ書き方をしても値が出力されない。変数の中身を確認する際には、**必ずprint関数で出力** させる必要がある。
  - レポートには、シェル上で実行する様子と、実行結果を掲載すること。

`````{admonition} 補足
````{dropdown} 回答例
```shell
python ex2_3.py
```
````
`````
