はじめてのPython_(4章#01-4章#05)
リストとは
データ構造の一種。まとまったデータを扱う
※他の言語では、配列ともいう
リストの使いどころ
1.並び順管理が必要なデータ処理
- 出席番号、座席順、パーティの並び順など
- トランプや将棋などのゲームデータ
2.Webフォームの選択肢
- 年齢、都道府県など
3.エクセルのような複数行データ
- CSVデータの処理
player_1 = "戦士" player_2 = "魔法使い" print(player_1) print(player_2) team = ["勇者", "魔法使い",100, player_1] print(team)
出力
戦士
魔法使い
['勇者', '魔法使い', 100, '戦士']
リストの要素の取り出し
team = ["勇者", "魔法使い"] print(team) print(team[1]) num = 0 print(team[num]) # print(team[num + 1]) という記述も可能。 # num変数が「0」なので、リストの「0」番目が出力される。 # team = ["勇者", "魔法使い"] # リスト内のデータをリストの要素という print(len(team))
出力
['勇者', '魔法使い']
魔法使い
勇者
2
len関数とは
len 関数は引数に指定したオブジェクトの長さや
要素の数を取得します。
append関数とは
リストの最後に新しい要素を追加できる。
[対象となるデータ].appendで記述。
team = ["勇者", "魔法使い"] print(team) print(team[1]) print(len(team)) team.append("戦士") print(team) print(len(team))
出力
['勇者', '魔法使い']
魔法使い
2
['勇者', '魔法使い', '戦士']
3
リストの要素は修正も可能
変数と同じように、リストの要素に代入する
team = ["勇者", "魔法使い"] print(team) print(team[1]) print(len(team)) team.append("戦士") print(team) print(len(team)) team[2] = "スライム" print(team) print(len(team))
出力
['勇者', '魔法使い']
魔法使い
2
['勇者', '魔法使い', '戦士']
3
['勇者', '魔法使い', 'スライム']
3
pop関数とは
リストの要素を削除する。
team = ["勇者", "魔法使い"] print(team) print(team[1]) print(len(team)) team.append("戦士") print(team) print(len(team)) team[2] = "スライム" print(team) print(len(team)) team.pop(2) print(team) print(len(team))
出力
['勇者', '魔法使い']
魔法使い
2
['勇者', '魔法使い', '戦士']
3
['勇者', '魔法使い', 'スライム']
3
['勇者', '魔法使い']
2
はじめてのPython_(3章#04-3章#06)
繰り返し処理でHTMLを作成する
print("<select name=\'age\'>") print("<option>1才</option>") print("<option>2才</option>") print("</select>")
出力
1才
ループ処理とHTML
print("<select name=\'age\'>") for age in range(10): print("<"option>" + str(age + 1) + "才</option>") print("</select>")
出力
1才から10才
データの読み込みについて
(流れとして)
データを入力→プログラムで処理→処理結果を出力
(実用的なプログラムでは)
webサービス/APIからデータを受信したり
データベースから取得したり
ファイルを読み込んだり
また、外部からキーボード入力されたり
(基本となるのは)
標準入力
という仕組み
標準入力とは、
もともとはLINUXなどのUnix系OSで用意されていた仕組み。
標準入力に対応するようにプラグラムを作っていれば
プログラム実行時にファイルの読み込みや、
キーボードからデータ入力の読み込みと入力先を切り替えることが可能。
そのデータを標準入力から読み込んで処理することが可能になる。
line = input() print("サザ " + line)
入力
美味しい
出力
サザエ 美味しい
line = int(input()) print(line) # 整数データ型に直して読み込む
入力
123
出力
123
複数データの読み込み
count = int(input()) print("データ個数 " + str(count)) for i in range(count): line = input().rstrip() print("サザエ " + line)
入力
4
美味しい
素敵
大好き
出力
データ個数 4
サザエ 美味しい
サザエ 素敵
サザエ 大好き
rstrip()とは、
データの行末の改行を削除する。改行が残っていると、その後の処理に悪影響を及ぼすことがあるので、ここで削除している。
インプットの後に、ドットに続けて記述することで、インプットの戻り値の改行を削除することができる。
はじめてのPython_(2章#05-3章#03)
ループ処理(for文)について
(基本)
for カウンタ変数 in 繰り返す範囲:
繰り返し処理
for i in range(5): print("サザエ")
出力
サザエ
サザエ
サザエ
サザエ
サザエ
for i in range(5): print("サザエ:" + str(i))
出力
サザエ:1
サザエ:1
サザエ:3
サザエ:4
サザエ:5
for i in range(6,11): # 6,7,8....11 print("サザエ:" + str(i)) print("last" + str(i)) # 6から始まり11が来たら終了させる
出力
サザエ:6
サザエ:7
サザエ:8
サザエ:9
サザエ:10
ループ処理(while)について
(基本)
while 条件式:
繰り返処理
カウンタ変数を更新
※条件式が成立してる間繰り返し処理を何度も実行する
i = 1 # カウンタ変数を初期化 while i <= 5: print(i) # 繰り返し処理 i = i + 1 # カウンタ変数を更新 print("last:" + str(i)) # 6から始まり11が来たら終了させる
出力
1
2
3
4
5
last:11
繰り返し処理が終了した後は11なので
"last11"と出力される
【注意】
i = i + 1 # カウンタ変数を更新
これを必ず入れていないと無限ループにはまる
はじめてのPython_(1章#07-2章#04)
演算子
number = 100 + 20 print(number) number = 100 print(number + number) # +(プラス) -(マイナス) *(掛ける) /(割る) %(余り)
出力
120
200
apple_price = 350 # リンゴの単価 apple_num = 5 # リンゴを買う個数 print("リンゴの単価:" + str(apple_price) + "円") print("リンゴを買う数:" + str(apple_num) + "個") # str関数を使うことで文字列として揃え計算する total = apple_price * apple_num print("合計金額:" + str(total) + "円")
出力
リンゴの単価:350円
リンゴを買う数:5個
合計金額:1750円
ランダム関数を使用する
import random apple_price = 350 # リンゴの単価 apple_num = random.randint(1,10) print("リンゴの単価:" + str(apple_price) + "円") print("リンゴを買う数:" + str(apple_num) + "個") # random関数を使用することで # ランダムにリンゴの個数が1~10までの数がランダムに表示され、計算結果が変わる
出力
リンゴの単価:350円
リンゴを買う数:9個
合計金額:3150円
import random apple_price = random.randint(1,3) * 100 # リンゴの単価 apple_num = random.randint(1,10) print("リンゴの単価:" + str(apple_price) + "円") print("リンゴを買う数:" + str(apple_num) + "個")
出力
リンゴの単価:200円
リンゴを買う数:7個
合計金額:1400円
データ型について
number = 100 # 数値 strings = "ごはん" # 文字列
if文について
unmber = 1 if number == 1: print("アタリ") # 条件が成立した場合の処理 else: print("ハズレ") # 条件が成立しなかった場合の処理 # ”:”(コロンから)下の処理を含めたものをブロックという
出力
アタリ
複数
unmber = 2 if number == 1: print("アタリ") # 条件式1が成立した場合の処理 elif number == 2: print("どちらでもない") # 条件式2が成立した場合の処理 else: print("ハズレ") # 条件がどれも成立しなかった場合の処理
出力
どちらでもない
比較演算子の種類
a < b a が b よりも小さい(未満)
a > b a が b よりも大きい
a <= b a が b 以下である
a >= b a が b 以上である
a != b a と b が等しくない
デバッグとは
import random omikuji = random.randint(1,10) print(omikuji) # omiokuji変数の値に対して、if文が期待通りに動いているか確認する # デバッグ行 if omikuji == 1: print("大吉") elif omikuji == 2: print("中吉") elif omikuji <= 4: # 3,4 print("小吉") elif omikuji <= 7: # 5,6,7 print("凶") else: # 8,9,10 print("大吉")
はじめてのPython_(1章#02-#06)
出力
print("hello world")
コメント
print("hello world") # コメント ''' 複数行コメント print("hello world") print("hello world") print("hello world") '''
HTMLを表示
print("<h1>hello world</h1>") print("<p>世界に、</p>") print("<b>ちーすっ</b>") print("<h1>hello world</h1>", end="") print("<p>世界に、</p>", end="%") print("<b>ちーすっ</b>", end="") # , end="" を追加することでprint関数で改行しない print("<h1>hello world</h1>","<p>世界に、</p>","<b>ちーすっ</b>") # ","で区切ると出力された文字列はスペースで区切られる print('''<h1>hello world</h1> <p>世界に、</p> <b>ちーすっ</b>''') # シングルクォーテーション3個で複数行を扱うことができる
html出力
hello world
世界に、ちーすっ
hello world
世界に、%ちーすっ
変数
player = "商人" print(player) print(player + "は川で洗濯をしていました")
出力
商人は川で洗濯をしていました
ランダム
number = 100 print("飴が" + str(number) + "個、箱の中にあります") # int整数 str文字列 出力する時は数字か文字列か合わせる必要がある
出力
飴が100個、箱の中にあります
import random number = random.random() print("飴が" + str(number) + "個、箱の中にあります") # 0から1までのランダムの数値が表示される
出力
飴が0.0112538542個、箱の中にあります
※ random関数、実行する度に数値が変わる(0~1)
import random number = random.rondint(1,100) print("飴が" + str(number) + "個、箱の中にあります") # 1から100までのランダムの数値が表示される
出力
飴が14個、箱の中にあります
※ rondint関数、実行する度に数値が変わる1~100)
random関数やrondint関数はあらかじめrandomモジュールをインポート(import)して使う
※importとは組み込むということ
(randomモジュールの中にrandom関数やranint関数が格納さていて、randomモジュールを組み込む事で使えるようになる)
(使う時には"random"というモジュール名に続けて".random()"またはrandint()というように関数名を記述)
print関数やstr関数はimportが必要なかった、それはpythonに標準で組み込まれているから
()の中を”引数(ひきすう)”という
関数の処理結果の事を”戻り値”または”返り値”という
(例)1~100までの範囲を”引数”として指定すると
ランダムに選ばれた数値が”戻り値”として出力される