#0.超基本事項
###演算子
- // 割り算の余りの整数部分
- % 割り算の余り
#1.Pythonで使う主な関数
###基本事項
- print( ) :出力
- input( ) :入力
- int( ) :整数
- str( ) :文字列
- float( ) :浮動小数点
- len( ) :文字数、要素数
###応用
- input()関数の応用
変数に複数の値を入力する時に便利。
a, b, c = (int(x) for x in input().split())
# 12 14 15 のように入力する
print(a + b + c)
41
- len()関数の応用
リストの値の数を数えるのに使う。
spam = ['cat', 'bat', 'rat', 'elephant']
len(spam)
3
###その他の関数
- abs( ) :絶対値
- round( ) :四捨五入 ※厳密には異なる
round(123.456, 1)
123.5
round(123.456, 2)
123.46
round(123.456, 0)
123.0
round(123.456, -1)
120.0
round(123.456, -2)
100.0
- range( ) :forループによく使われる。
for i in range(5):
print(i)
0
1
2
3
4
range( )関数の開始、終了、ステップ引数
開始と終了
第1引数は開始値を表し、第2引数は終了より1大きい数を表す。
for i in range(12, 16):
print(i)
12
13
14
15
第3引数は繰り返しのたびに増やしていく変数の値を表す。
for i in range(0, 10, 2):
print(i)
0
2
4
6
8
#2.フロー制御
###if文、else文、elif文
name = input()
if name == 'Alice':
print('やぁ、Alice。')
elif age == 12:
print('Aliceじゃないね、お嬢ちゃん。')
else:
print('あなたは誰ですか?')
###whileループ、forループ
- whileループ
i=0
while i < 5:
print(i)
i = i + 1
- forループ
for i in range(5):
print(i)
- while,forループでは__break文__、__continue文__が使える。
break文 ループから外れる。
continue文 ループの先頭に戻る。
###importモジュール
- import sys
sys.exit() プログラムを終了させる。
- random.randint 第1,2引数はランダムで出す値の範囲を表す。
import random
for i in range(5):
print(random.randint(1,10))
- import math 数式を使えるようにする。
math.floor ガウス記号(それを超えない最大の整数値)
import math
math.floor(5.95)
5
math.floor(-5.95)
-6
#3.関数
###関数の定義
def文 関数を定義することができる。return文を使って戻り値を指定できる。
def hello(name):
print('Hello' + name)
hello('Alice')
Hello Alice
###キーワード引数
- , end='' 改行をなくす。
print('Hello', end='')
print('World')
HelloWorld
- , sep='' 区切り文字を入れる。(初期はスペース)
print('cats', 'dogs', 'mice', sep=',')
cats,dogs,mice
# 通常は以下のようになる
print('cats', 'dogs', 'mice')
cats dogs mice
###ローカルスコープ、グローバルスコープ
- ローカル変数はグローバルスコープから使えない。
- グローバル変数はローカルスコープから使える。
- ローカルスコープでは他のローカルスコープの変数を使えない。
grobal文 ローカル変数をグローバルスコープで使えるようにする。
def spam():
global eggs
eggs = 'spam'
eggs = 'global'
spam()
print(eggs)
spam
###例外処理
例えば以下のプログラムを実行したとき、次のエラーが生じる。
try節とexcept節を用いると特定のエラーを回避することができる。
def spam(divide_by):
return 42 / divide_by
print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))
# これを実行すると以下のエラーになる
21.0
3.5
Traceback (most recent call last):
File "C:\Users\t\Desktop\programming\Python\error.py", line 5, in <module>
print(spam(0))
File "C:\Users\t\Desktop\programming\Python\error.py", line 2, in spam
return 42 / divide_by
ZeroDivisionError: division by zero
__ZeroDivisionError__を回避するには以下のようにtry節とexcept節を入れる。
def spam(divide_by):
try:
return 42 / divide_by
except ZeroDivisionError:
print('不正な引数です。')
print(spam(2))
print(spam(12))
print(spam(0))
print(spam(1))
# 実行すると以下のようになる
21.0
3.5
不正な引数です。
None
42.0
エラー
- ValueError 非整数の時
- ZeroDivisionError ゼロによる除算
#続き