プログラミング初心者のためのpython[超入門編]ver.3

#関数
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/399cc5aa-ee7f-4145-d896-fbff4744064b.png)A3：ピーちゃんが書いた占いのコード、print関数と変数があるっていうのは分かったけど、それ以外はまだよくわからないな…
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/b38d26b9-1f75-c7a6-eb3d-5da926cb9153.png)ピーちゃん：今日はA3ちゃんのわからないところ、教えるから涙を拭きなよ～☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/47d39b55-a9ca-0fd8-6d57-91defc20c0e5.png)A3：ウソ泣き
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/ec677530-2f09-8947-dbea-fa9844da2fc1.png)ピーちゃん：そこまで心配してない
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/8ec9f1ee-e862-afc3-9854-2a1e64437d98.png)A3：**ひどーーーーーーい！！！！！！！！！！！！！！**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：それでは今日は関数について説明するね！A3ちゃん関数ってどういうものか知ってる？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/d817f56e-a79f-e342-a89a-1de639ef2487.png))A3：知ってたら、たまごの殻に引きこもらないです
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/118e5437-a3aa-4871-0702-d5ff6dbca4da.png)ピーちゃん：A3ちゃん、ネガティブ・オブ・ザ・ひよこだね～。それならガチャポンは知ってる？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/11191b86-b408-7eb8-c450-d2c54e36c2cb.png)A3：ス〇ダンとかぐ〇たまとかのキーホールダーよく買うから知ってる！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：それならガチャポンがここにあるとイメージしてみてね☆
　　　　　　　　　　　　　　　　　　　　　![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/114bb37a-56ac-dbb6-c41f-66670c8ab74b.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/11191b86-b408-7eb8-c450-d2c54e36c2cb.png)A3：えっと・・・イメージしたけど・・・・・
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/118e5437-a3aa-4871-0702-d5ff6dbca4da.png)ピーちゃん：お金を入れるとガチャポンがでてくるよね！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/a8cbe4cd-eca4-5617-cbcc-4cce94d1ae71.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：関数も一緒で**ある関数に「X」という値をいれてあげたら「Y」が出てくるようにすること**を**関数**っていうんだよ
　　　　　　![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/48156e3f-2a2e-895d-c022-a6e0517ce2e6.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/11191b86-b408-7eb8-c450-d2c54e36c2cb.png)A3：関数って変数を関数で指定して違う変数を出すってこと？？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：そのとおり！uranaiコードの変数で例えるとprint(uranai)はuranaiの変数をprintで出してねって意味になるよ！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/e8d11c9b-690b-a22c-0540-349f922822de.png)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：ここでuranaiコードを見てみよう！

```today_uranai.py
import random
uranai = random.randint(1,10)
print(uranai)

if uranai == 1:
    print("大吉！何をやってもうまくいくラッキーDAY☆")
elif uranai == 2:
    print("中吉☆好きな子がいたら声かけて♡仲良くなれるかも")
elif uranai <= 4:
    print("小吉　本屋で前から欲しかった情報が手に入りそう")
elif uranai <= 7:
    print("凶　今日は寄り道せずまっすぐ帰ろう！")
else:
    print("大凶　明日があるさ☆")

```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：importとrandomは関数なんだ！**import**は**取り込む**っていう意味があって、**random**は**順番を考えずに表示させる**って意味があるんだ！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：最初の３行のコードの意味を説明すると・・・・
①import関数でrandom関数を取り込んでね。
②uranaiは順番を考えないで1から10までの間のものを表示させる変数になりました！
③print関数でuranaiの変数を表示させてね！って意味になるんだよ～(^^♪
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：関数っていろいろあるんだね！
#メソッド
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：あれ～？このrandom.randintってなんだろ？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：randomを**.(ドット)**で**区切って**randintと書いてあるのはメソットっていうんだよ。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：メソッドには、**呼び出し元がいて、その呼び出し元の要素を処理する**時に使うんだ。例えばこんな感じ！**replace**は**置き換える**っていう意味があるからドットで区切ってメソッドにするよ。

```メソッド.py
"大吉 中吉 小吉".replace("吉","凶")
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：これはreplaceというメソッドが吉を凶に変えてしまうって意味になるんだ☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：random.randint(1,10)は1から10までの整数（10を含む）を順番を考えないで表示させるって意味だから、random.randintはrandom関数とrandintっていうメソッドの組み合わせとも言えるね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：詳しくは[randomについて](https://docs.python.jp/3/library/random.html)を見てみてね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：random関数ってメソッドをつけることでいろんなことができるんだね～☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：そうなんだ！ほかの関数でも、関数だけの処理じゃなくてドットで区切ってメソッドを作ると細かく処理ができるだ☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：いろんな意味がある関数やメソッドを覚えていけば、自分がやりたいことが細かく処理できるようになりそうだね！

#組み込み関数

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：組み込み関数っていうのはpythonで好きに使っていいよ☆っていう関数なんだ。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/e799ab1e-d921-396a-25f2-7bbe9c8a835b.png)
https://docs.python.jp/3/library/functions.html
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：好きに使っていい関数と好き勝手に使えない関数があるの？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：うん。random関数は好き勝手に使えない関数だからimport関数で取り込まないといけないんだ。このことは説明するととっても長くなるから、また今度お話するね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/11191b86-b408-7eb8-c450-d2c54e36c2cb.png)A3：そっかー。まずは好き勝手に使える関数を覚えたほうがよさそうだねー。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/069db445-d772-e543-9d97-03478fa375dd.png)ピーちゃん：今は、組み込み関数を使ってpythonのコードが書けるように覚えていこ！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/244d7569-8c9a-80c2-39e7-3180aab5ec0c.png)A3：はーい！結構いっぱいあるな～。いろいろ試してみよう！

#ver.2の宿題の答え合わせ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/2ee74a2b-b0b6-1ce0-9333-b1bc8ca061c1.png)ピーちゃん：宿題できたー？？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/47d39b55-a9ca-0fd8-6d57-91defc20c0e5.png)A3：宿題はできたよ～☆



```宿題ver.2.py
#coding: utf-8
uranailist = ["大吉！何をやってもうまくいくラッキーDAY☆","中吉☆好きな子がいたら声をかけて♡仲良くなれるかも","小吉　本屋で前から欲しかった情報が手に入りそう","凶　今日は寄り道せずまっすぐ帰ろう！","大凶　あしたがあるさ"]
print(uranailist[0])
uranai = (uranailist[0])
print(uranai[1])
```
実行結果
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/790566b8-386b-b07c-cd45-7dde83aa75ce.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/47d39b55-a9ca-0fd8-6d57-91defc20c0e5.png)A3：uranailistから0番目の要素を持ってきて表示させる。そのあとにuranaiって変数をつくって、print関数でuranaiの変数で１番目を表示ってしたの☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/2ee74a2b-b0b6-1ce0-9333-b1bc8ca061c1.png)ピーちゃん：A3ちゃん、よくできたね☆他にも方法はあるかもしれないよ！いろんな方法探してみてね！次はif文について説明するよ☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/47d39b55-a9ca-0fd8-6d57-91defc20c0e5.png)A3：あれ、今日で全部uranaiコードの説明するっていったのにー！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/2ee74a2b-b0b6-1ce0-9333-b1bc8ca061c1.png)ピーちゃん：学校の課題が終わってないんだ。。。。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/47d39b55-a9ca-0fd8-6d57-91defc20c0e5.png)A3：た、たいへんだね( ;∀;)　学校のことも今度教えてね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/2ee74a2b-b0b6-1ce0-9333-b1bc8ca061c1.png)ピーちゃん：語ると長いぜよ( ˘ω˘ )