櫻子の日常egg

櫻子のお勉強

はじめての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までの範囲を”引数”として指定すると
ランダムに選ばれた数値が”戻り値”として出力される