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

#print関数
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：ピーちゃんが書いた占いのコードなんだけど、コピペしたら動いたよ☆でもさー。コードの内容はよくわからなかったんだよね。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：じゃあ、教えてあげる☆私が書いたコードをもう一度見てみよう！

```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/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：まず、一番簡単なprint関数について説明するね！A3ちゃんこのコードにprint()って書いてあるものはいくつあるかな？？？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：6個ある！結構いっぱいあるね！これよく使われるの？？？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：うん！これはprint関数っていってprintのとなりに半角で(　)カッコをつけるんだけど、この半角のカッコの中にあるものを画面に出力するんだ☆試しにA3ちゃんspiderを開いて書いてみて。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：printとカッコ書いといたよ？

```
print()
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：カッコの中身は、文字を表示させたい場合はチョンチョン([ダブルコーテーション](https://www.weblio.jp/content/%E3%83%80%E3%83%96%E3%83%AB%E3%82%AF%E3%82%A9%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3))つけてね。例えばこんな感じ。書けたら実行ボタン押してみて☆

```
print("A3ちゃんはできる子")
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：できた～～～~~~~~:grin:
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：すごく簡単でしょ？print関数を覚えたら表示させたいものを表示させることができるよ☆
#文字列
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：さっきチョンチョンをつけた中身にある文字のことを文字列っていうんだよ。占いコードに文字列になってるものはどれかな？

```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/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：大吉とか中吉とか書いてあるやつが文字列ってことかな？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：そうそう。せっかくだから「大吉！何をやってもうまくいくラッキーDAY☆」って書いてある文字列から「吉」だけを表示させてみよう！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：そんなことできるの？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：できるんだな☆これが！

```
uranai = "大吉！何をやってもうまくいくラッキーDAY☆"
print(uranai[2])
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：文字列の中の特定の1文字を取り出したり変更するには、[ ]で囲まれた[インデックス](http://wa3.i-3-i.info/word11906.html)で指定するの。1文字目のインデックスは0だから注意してね☆インデックスが文字数を超えるとエラーになるよ！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：このコードだと「！」が表示されちゃうってこと？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：あれ！これだと1にしないと「吉」が表示されないね:bow_tone2:

```list.py
uranai = "大吉！何をやってもうまくいくラッキーDAY☆"
print(uranai[1])
```

#変数
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：pythonを書くときに変数を使うから変数についても教えるね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：変数ってよく聞くけどいまいちよくわからない…。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：数値や文字列を格納するところを変数っていうんだよ！変数の名前を自分で決め、「=」で値を入れることで変数が作られるんだ。さっき文字列から吉を表示させるコードにも変数が隠れているから探してみよう！

```list.py
uranai = "大吉！何をやってもうまくいくラッキーDAY☆"
print(uranai[1])
```
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：uranaiっていうのが変数の名前でダブルコーテーションで囲んだものをprint関数でuranaiにある2番目の文字を表示させる...って意味になるのかな？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：そのとおり！A3ちゃん、コードの意味が理解できるようになってきたね☆
uranaiにはいろんな文字列や数字を入れることができるから変数っていうんだよ。uranaiって名前も変えることもできるからね。ただ、変数名に使えるのはアルファベットと数字とアンダーバー(_)で、アルファベットには大文字小文字の区別があるよ。数字で始まるような変数も作れないから注意してね！
#リストとタプル
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：数値や文字といったデータを1つの入れ物にまとめることができるよ。例えば、uranaiの大吉から大凶までのデータを変数で一つ一つ書くと…

```
uranai1　=　"大吉！何をやってもうまくいくラッキーDAY☆"
uranai2　=　"中吉☆好きな子がいたら声をかけて♡仲良くなれるかも"
uranai3　=　"小吉　本屋で前から欲しかった情報が手に入りそう"
uranai4　=　"凶　今日は寄り道せずまっすぐ帰ろう！"
uranai5　=　"大凶　あしたがあるさ"
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：こういう風にするよりも…

```
uranailist　=　["大吉！何をやってもうまくいくラッキーDAY☆","中吉☆好きな子がいたら声をかけて♡仲良くなれるかも","小吉　本屋で前から欲しかった情報が手に入りそう","凶　今日は寄り道せずまっすぐ帰ろう！","大凶　あしたがあるさ"]
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：ってまとめることができるの！これをリストって言うんだ。[　]のところをこのカッコにすると(　)タプルになるよ！

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

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：こんなふうにまとめることで、データ操作が簡単にできるんだよ。
リストは定義した後に要素の変更が可能だけど、タプルは変更が不可能なんだ。リストだけ使えれば、今のところ大丈夫☆でも、タプルが要求される場合もあるから覚えておいたほうがいいよ。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：リストは[　]でタプルは(　)なんだね。区切るときは　，カンマを使うのか～。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：そのとおり！リストもタプルも複数の階層を持たせることができるよ☆
２次元配列、３次元配列といったこともできるんだ。特定の要素を選択する場合は、変数名の後に[ ]で囲まれたインデックスで指定してね。インデックス+1番目の要素にアクセスできるよ。1番目の要素は[0]だからね。

```
uranailist = ["大吉！何をやってもうまくいくラッキーDAY☆","中吉☆好きな子がいたら声をかけて♡仲良くなれるかも","小吉　本屋で前から欲しかった情報が手に入りそう","凶　今日は寄り道せずまっすぐ帰ろう！","大凶　あしたがあるさ"]

print(uranailist［1］)　　#実行結果はどうなるでしょう？　　
 
uranailist[1] = "吉"　	 #uranailistからどうやって吉だけを表示させることができるかな？？

```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：この結果は次回までの宿題ね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：ピーちゃん、なんかプログラミングの先生みたいだね～。おかげで今日はprint関数・文字列・変数・リストとタプルについてわかった気がする！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/0cfb1654-2e16-d23b-aa36-7193f5c1f93d.png)ピーちゃん：次は占いのコードの意味が全部わかるように説明するから、忘れないように復習してね☆
![image.png](https://qiita-image-store.s3.amazonaws.com/0/211326/54cf9307-b04a-2ccd-b83d-3ad7e67d2b1b.png)A3：はーい！頑張ります☆