Download presentation
Presentation is loading. Please wait.
1
Python講座 2017/5/11(木)
2
目次 P.3 Pythonはどんな言語? P.4 ゲームは作れるの? P.5 変数を使おう P.6 Python三種の神器(仮名) P.7 print文 P.8 input文 P.9 比較演算子いろいろ P.10 if文 P.13 変数の発展 P.13 変数の値の変更 P.14 リストと辞書 P.15 ループ文
3
Pythonはどんな言語? Pythonは読みやすく、効率も良いコードを簡単に書くツール 登場は早かったが近年になって注目されはじめる
⇒参考書などが豊富 主にWEBアプリケーション、機械学習などに使用 ⇒あのYoutubeもPythonで作られた
4
ゲームは作れるの? ゲームは頑張れば作れるが… ⇒あまりゲーム分野には強くない
現段階でのPythonは「プログラミングをする」ことを学ぶもの ⇒だからこそプログラムの処理をしっかり理解することを推奨 考え方や計算処理は基本流用可能
5
変数を使おう 変数とは、数字や文字を代わりに表現するもの ⇒何度も使う数字や文字を変数にするとあとで使いやすくなる 書き方 :
留意点 左辺が変数、右辺が表現する数字や文字 変数はどんな名前でもよいが必ず半角英数字で スペースは必須ではないがあると見やすい(ただし半角で) 数字はそのままで大丈夫だが文字は” ”でくくる ⇒文字をそのままにすると以前に作った変数と解釈してしまう 書き方 : name = “tetuo” point = 100
6
python三種の神器(仮名) print文 指定した文字などを出力する input文 キーボード入力をとって変数に入れることができる
if文 条件が正しいか間違っているかで処理するかどうか決める
7
print文の書き方 書き方 : print(“点数”) print(name) print(point) 結果 : 点数 tetuo
100 留意点 書いた後にF5キー、もしくは 上の方にある「run」から「Run Module」で動く 変数を使わず直接書き込む(“点数”のように)ことでもprintされる 変数を文字と組み合わせて使うには+でつなげる ⇒数字は下記のようにしないと足し算をしてしまう 変数や文字を複数同時にprintする書き方 : print(name + “の点数は” + “{}”.format(point) + “です”) print(“point + 20 = ” + “{}”.format(point+20)) 結果: tetuoの点数は100です point + 20 = 120
8
input文の書き方 書き方 : subject = input() print(subject) time = input()
print(time + “分”) print(int(time) + 60) 結果 : 数学 90 90分 150 留意点 キーボードで入力後、Enterキーで続行 黒字はキーボードの入力、青字は出力 入力は文字、つまり” ”がかかったものとして扱われるため 数字は「int」を付けて整数に戻す ⇒「time = int(input())」という書き方も可
9
if文の前に if文では比較演算子を使って条件文を決める point > 50 : pointが50より大きい
name == “tetuo” : nameがtetuo(ぴったり) name != “tetuo” : nameがtetuoでない 留意点 以上、以下、~でないは書く順番に注意 数字以外でも文字の比較も可能 ⇒ただしイコールかイコールでないかのみ
10
if文の書き方 書き方 : 結果 : if point > 50 : tetuo print(name) 哲夫
If name == “tetuo” : print(“哲夫”) print(“こがねこ”) if point < 50 : print(point) if point < 150 : print(“52149”) 結果 : tetuo 哲夫 こがねこ 52149 留意点 条件を満たしたもののみが出力されている 改行は必須ではないがやはりした方が見やすい ⇒改行した場合スペースは必須(ブロックという) if文の中にさらにif文を書くことも可能 (一番下の部分) 後々出てくるが条件文はtrueもしくはfalseを表す 条件を満たすときはtrue、満たさないときはfalse 意味はないけどこんな書き方も : if true : print(“true”) if false : print(“false”)
11
if文の派生1 elif else 書き方 : If name == “hanako” : print(“female”)
elif name == “tetuo” : print(“male”) elif point > 50 : print(“genius”) 結果 : male 書き方 : If name == “hanako” : print(“female”) elif name == “takeo” : print(“male”) else : print(“unknown”) 結果 : unknown 留意点 elifはつまりelse ifの省略 条件を上から順にみて、満たしたものを処理 条件を最初に満たしたものだけを出力 改行をするがスペースは入れない (ブロックを作らない) 留意点 elifと同じように書くが条件文はいらない 書くときは必ず最後に置き、上の条件がすべて 満たされないときに処理される elifを書かなくても良い
12
if文の派生2 and or 書き方 : if point < 150 and name == “tetuo” :
print(“male double”) If point < 150 and name == “hanako” : print(“female double”) 書き方 : if point < 150 or name == “hanako” : print(“伝説って?”) If point > 150 or name == “tetuo” : print(“ああ!”) 結果 : male double 結果 : 伝説って? ああ! 留意点 二つの条件文をandでつなぐ 二つが満たされたときに処理を行う 三つ以上の条件文でも可能 留意点 二つの条件文をorでつなぐ 二つのうち片方でも満たされたときに処理を行う 三つ以上の条件文でも可能
13
変数の発展 変数の値の変更 変数の値を変えたい : power = 100 print(power) power = power + 5
結果: 100 105 210 220 110 留意点 「(変数) = (変数) (演算子) (数字)」で変更 (1)でpowerの値をpower+5に変える (2)でpowerの値をpower*2(power×2)に変える (3)や(4)のように「(変数) (演算子)= (数字)」でも変更可(推奨) (3)でpowerの値に10を足す (4)でpowerの値を2で割る (1) (2) (3) (4) 演算子いろいろ 足し算 x + y 引き算 x – y 掛け算 x * y 割り算 x / y べき乗 x ** y (xのy乗) あまり x % y
14
変数の発展 リストと辞書 リスト 辞書 書き方 : command = [1, 2, “fight”, 5, “win”]
print(command[0]) If command[2] == “fight” : print(command[4]) 結果 : 1 win 書き方 : code = {“go” : “god”, “lo” : “love”} print(dict[“go”]) If code[“go”] == “god” : print(code[“lo”]) 結果 : god love 留意点 リストの文字や数字(要素と呼ぶ)は command[順番]で呼び出せる リストの最初の要素は0番目、以降一ずつ増加 留意点 “名前” : “要素名”で対応付け リストと違い{ }でくくるが呼び出すときは code[“名前”]と書く おまけ command[1:4]と書くことで commandの1から3までの要素を持つリストが表される
15
処理のループ for文 while文 書き方 : for x in range(0,5) :
print(“回数 : ” + “{}”.format(x)) print(“ループ”) 書き方 : hp = 13 while hp > 0 : hp -= 5 print(“hp : ” + “{}”.format(hp)) 結果 : 回数 : 0 ループ 回数 : 1 回数 : 2 回数 : 3 回数 : 4 留意点 range((数字1),(数字2))で範囲の決定 ⇒(数字1)から(数字2)の 一つ手前まで1ずつループ for文の中身(ブロック)を すべて実行したときが1ループ xにはループ範囲が入る 結果 : hp : 8 hp : 3 hp : -2 留意点 条件文(ここでは「hp > 0」)によって ループするかを決定 ⇒if文の発展に近い ⇒条件を常にtrue(while true)と書くと 無限ループが可能 条件が満たされないときは永遠にループ ⇒書き方を間違えると大量の出力が
16
ループ専用の文 break continue 書き方 : count = 0 while count < 5: count += 1
if count % 2 == 0 : continue print(count) 結果: 1 3 5 書き方 : hp = 20 while true : hp -= 5 print(hp) if hp <= 0 : break print(“dead”) 結果: 15 10 5 dead 留意点 breakに入った時点でループを終了する ⇒無限ループもこれを使えば終了できる ループを終了する条件が複雑なときに これを使うとよい 留意点 continueに入った時点でそのループ一回分を終了する breakとは違い無限ループは抜けられない
17
おまけ ランダム 書き方 : Import random print(random.random())
print(random.randint(1, 5)) 結果 : 4 留意点 random.random()によって0から1までの小数点 random.randint((数字1),(数字2))によって数字1から数字2まで(未満)の整数
18
演習問題① じゃんけんゲームを作ろう ルール: ①「グー」、「チョキ」、「パー」を入力して、CPUと対決する
②結果を出力して、勝っても負けても「続ける」か「やめる」かを 入力し決めて永久に遊び続けられるものを作る ヒント: 別にプログラム内で「グー」、「チョキ」、「パー」という文字列を 認識させなくても良い! 半永久的に回すにはwhile文が最適!
19
演習問題② ノット30(仮)を作る 準備:対戦は人間VSCPU、先行後攻を決める ルール: ①先行は1から+2した値までの数を選択し相手へ ②相手は選択された数は+1から+3までの数を選択し相手へ ③以降、互いに②を行い30を選択した方が負け ※ゲームの性質上、30を言わせた方が勝ち
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.