0
1

More than 3 years have passed since last update.

CCC: coding crash course (2)

Last updated at Posted at 2020-05-15

内部向け資料。

今日の内容:

  • (1) list に慣れる, append()

  • (2) 関数 int(), float()

  • (3) 関数range(), list(range())

  • (4) for 文

  • (5) 復習問題


(1) list に慣れる, append()

  • append(A) は、リスト末尾に要素Aを加える。
# 復習
# 何が出力されるか?
a = [7, 8, 'taro', 'jack']

print(a)

print(a[2])

# 何が出力されるか?
a = [7, 8, 'taro', 'jack']

a.append('10')

print(a)

a.append(10)

print(a)

# 10 と '10' は別のもの。

# [7, 8, 'taro', 'jack', '10', 10]
  • リストの位置指定の裏技: [-1] = マイナス1番目という位置は末尾。
# 何が出力されるか?
a = [7, 8, 'taro', 'jack']
print(a)

print(a[3])
print(a[-1])

# 要素数4のとき、住所"[3]"と住所"[-1]"は同じ。

  • リストにリストを入れることもできる。

# 何が出力されるか?
a = [7, 8, 'taro', 'jack']
b = ['ML', 3.14]
a.append(b)
print(b)

print(a[-1])
print(a[-1][0])
print(a[-1][1])


(2) 関数 int(), float()

  • int(A) : Aを整数に直す。
  • float(A) : Aを実数に直す。


# 何が出力されるか?

b = '5'
c = int(b)

print(b)
print(c)


d = 5.5
e = int(d)

print(d)
print(e)


f = 1.234
g = float(f)

print(f)
print(g)

(3) range(), list(range())

  • int(A) : Aを整数に直す。
  • float(A) : Aを実数に直す。
  • list(A) : Aをリスト型に直す。

A = range(10)
print(A)

B = list(range(10))
print(B)

C = list(range(1,11))
print(C)

D = list(range(1,11,2))
print(D)

E = list(range(11,1,-2))
print(E)

# [2000,2004,2008,2012,2016,2020] を表示するにはどうすれば良いですか?

# [2020,2016,2012,2008,2004,2000] を表示するにはどうすれば良いですか?

なお、Python2, Python3ではprint(range(5))の出力結果が異なる。


# python3
$ print(range(5))
range(0,5)
# python2
$ print(range(5))
[0,1,2,3,4]

(4) for文 [for loop]

  • 繰り返す内容が1行でまとめられるなら

for [繰り返しに関するルール]:
_タブ_ [繰り返す内容]

  • 繰り返す内容が2行にわたるなら

for [繰り返しに関するルール]:
_タブ_ [繰り返す内容]
_タブ_ [繰り返す内容]

このようにタブを使ってブロックを作ります。
これは、見やすいようにする(可読性を増す)ために作られたPythonのルールです。
for loopの中でこれを行わないと、エラーを起こしたり、意図しない結果が生じます。

例えば、
list_a = ['Tokyo', 'Cambridge', 'Ann Arbor', 'Pittsburgh']
というリストがあり、これを順番に表示する場合、よく使われるのは、以下の2通りです。

  • 「通し番号 i」を0-3まで回し、「リストの中のi番目の要素」を表示

for i in range(4):
_タブ_ print (list_a[i])

  • 「リストの要素を最初から1個ずつ取り出して、それを表示」

for a in list_a:
_タブ_ print (a)


list_name = ['Taro', 'Jack', 'Tom', 'Andy', 'Jason']

print(list_name)
for x in list_name:
    print(x)

print('---')

for i in range(10):
    print(i)

print('---')
for i in range(2000,2021,4):
    print(i)

print('---')
for i in range(2020,1999,-4):
    print(i)

print('---')

N_people = len(list_name)

for i in range(N_people):
    print(i, list_name[i])


for i in range(0,N_people,2):
    print(i, list_name[i])
    print('--. . . --')

(5) 復習問題

# Q. 何が表示されると思いますか? 
list_name = ['Taro', 'Jack', 'Tom', 'Andy', 'Jason', 'Matt']
list_name.append('John')
list_name.append('Madoka')
list_name.append('Ichiro')
print(list_name)

N_people = len(list_name)
print(N_people)

for i in range(1,N_people,3):
    print(i, list_name[i])



(6) if 文

if (条件A):
_タブ_ 「条件Aを満たす」場合読み込まれる

if (条件A):
_タブ_ 「条件Aを満たす」場合読み込まれる
else: # その他
_タブ_ 「条件Aを満たさない」場合読み込まれる

if (条件A):
_タブ_ 「条件Aを満たす」
elif (条件B):
_タブ_ 「条件Aを満たさない」かつ「条件Bを満たす」
else: # その他
_タブ_ 「条件Aを満たさない」かつ「条件Bを満たさない」


x = 5
if (x>0):
    print('x=', x, '(This is larger than 0.)')

x = -3
if (x>0):
    print('x=', x, '(This is larger than 0.)')
else :
    print('x=', x, '(This is NOT larger than 0.)')


x = -3
if (x>0):
    print('x=', x, '(x>0)')
elif (x>-10) :
    print('x=', x, '(-10 < x < 0)')
else :
    print('x=', x, '(otherwise)')


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1