比較演算子
a== b | a と b が同じ |
a != b | a と b が同じじゃない |
a > b | a は b より大きい |
a < b | a は b より小さい |
a >= b | a は b 以上 |
a <= b | a は b 以下 |
割り算で答えを整数にする。
>>> 50//24
2
普通に割り算すると
>>> 50/24
2.0833333333333335
if文のサンプル
>>> N = int(input()) 標準入力より代入
9
>>> if 1 <= N <= 9:
... print("10より小さい")
... elif 10 <= N <= 99:
... print("100より小さい")
... else:
... print("100以上")
...
10より小さい
>>>
文字の分割
split()により、空白で文字列を分割する。
>>> A="abc def"
>>> A.split()
['abc', 'def']
>>>
分割する文字を指定できる。
split(".")のようにカッコ内に分割させる文字を入れる。
>>> A="ringo.grira.rappa"
>>> A.split(".")
['ringo', 'grira', 'rappa']
>>>
配列を複数の変数に一気に代入
>>> a,b,c=["aaa","bbb","ccc"]
>>> a
'aaa'
>>> b
'bbb'
>>> c
'ccc'
>>>
文字列に変数を埋め込む
f' 文字列{変数}'
文字列の中で{変数}と指定すると、変数を展開できる。
>>> a,b=["abc","cdf"]
>>> a
>>> a="山田"
>>> b="太郎"
>>> M=f'私の名前は{a} {b}です。'
>>> print(M)
私の名前は山田 太郎です。
>>>
文字列から指定した場所の抜き出し(スライス)
最初の文字を0として、配列の要素として指定できる。
>>> s="megane"
>>> s[0]
'm'
>>> s[1:2] ※2まで(2は含まれない)
'e'
>>> s[1:3]
'eg'
>>>
数字の文字列を数値にする
>>> m="1111"
>>> m
'1111'
>>> int(m)
1111
>>>
逆に数字を文字列にできる
>>> s=2222
>>> s
2222
>>> str(s)
'2222'
>>>
要素すべてに対して、関数の処理を纏めて行う
map関数を使う。
たとえば、文字列のリスト["2","3","4"]の要素すべてを
数値に直したい場合、
>>> list(map(int,["2","3","4"]))
[2, 3, 4]
>>>
とすると
リストの要素がすべて数値になる(すべての要素にint関数を実行している)
lambda を使えば、関数を作って、その関数を要素すべてに実行できる
※要素を2倍にする。
>>> c=[0, 1, 2, 3, 4]
>>> d=map(lambda x: x*2,c)
>>> list(d)
[0, 2, 4, 6, 8]
文字列の文字数を数える
>>> len("abcdefgh")
8
>>>
文字列の中の特定の文字の数を数える
>>> a="aaabbbbccccc"
>>> a.count("a")
3
>>> a.count("b")
4
>>> a.count("c")
5
>>>
数字の桁数を決める。
少数点5桁まで表示させる。
>>> c=10/3
>>> "{:.5f}".format(c)
'3.33333'
円周率(π)を使う
>>> import math
>>> math.pi
3.141592653589793
2次元リストの作成
要素が全て0の3行、4列のリストを作る
>>> list = [[0 for i in range(4)] for j in range(3)]
>>> print(list)
[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
トランプのリストを作ってみる。
>>> tbl = [[f'{j} {i+1}' for i in range(13)] for j in ["スペード","ハート","クローバ","ダイヤ"]]
>>> print(tbl)
[['スペード 1', 'スペード 2', 'スペード 3', 'スペード 4', 'スペード 5', 'スペード 6', 'スペード 7', 'スペード 8', 'スペ ード 9', 'スペード 10', 'スペード 11', 'スペード 12', 'スペード 13'], ['ハート 1', 'ハート 2', 'ハート 3', 'ハート 4', 'ハート 5', 'ハート 6', 'ハート 7', 'ハート 8', 'ハート 9', 'ハート 10', 'ハート 11', 'ハート 12', 'ハート 13'], ['クローバ 1', 'クローバ 2', 'クローバ 3', 'クローバ 4', 'クローバ 5', 'クローバ 6', 'クローバ 7', 'クローバ 8', 'クローバ 9', 'クローバ 10', 'クローバ 11', 'クローバ 12', 'クローバ 13'], ['ダイヤ 1', 'ダイヤ 2', 'ダイヤ 3', 'ダイヤ 4', 'ダイヤ 5', 'ダイヤ 6', 'ダイヤ 7', 'ダイヤ 8', 'ダイヤ 9', 'ダイヤ 10', 'ダイヤ 11', 'ダイヤ 12', 'ダイヤ 13']]
>>>
与えられた標準入力の最後までinputする方法
以下の標準入力があり、何個かわからない場合、以下のようにして、入力がなくなれば(EOFErrorが出れば)、inputを止めることができる。
while True:
try:
a = input()
print(a)
except EOFError:
break
標準入力
a
b
c
出力
a
b
c
もし、以下のように、入力がないのにinputした場合、エラーが出る。
for i in range(5):
a=input()
print(a)
■エラー
※入力は、a,b,cの3つしかないので、for分の4回目でエラーが出る
Traceback (most recent call last):
File "./Main.py", line 2, in <module>
a=input()
EOFError: EOF when reading a line
文字列から文字を抜き出す
最初から3文字目までを抜き出す
>>> "abcdefg"[0:3]
'abc'
>>>
3文字目から5文字目までを抜き出す
>>> "abcdefg"[2:5]
'cde'
>>>
3文字目から最後までを抜き出す
>>> "abcdefg"[2:]
'cdefg'
>>>
最初から4文字抜き出す。
>>> "abcdefg"[:4]
'abcd'
>>>
文字列を逆にする。
abcdを逆順のdcbaにする。
>>> "".join(reversed('abcd'))
'dcba'
文字の置換
abcのbをzに置換する
>>> "abc".replace('b','z')
'azc'