2020-05-31 課題

はじめに

自分用メモ

競プロを 2 題解いてみる

ABC 086 A - Product

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
input_str = "1 3"

print("input_str")
print(input_str)

print("======")
print(input_str.split())

print("======")
print(map(int, input_str.split()))

print("======")
print(list(map(int, input_str.split())))

a, b = map(int, input_str.split())
print(a)
print(b)

########################
a, b = map(int, input_str.split())
if a*b % 2 == 0:
    print("Even")
else:
    print("Odd")
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
input_str
1 3
======
['1', '3']
======
<map object at 0x7f537ad30c88>
======
[1, 3]
1
3
Odd
1
2
3
4
5
s = "1"
print(s)
print(type(s))
print(int(s))
print(type(int(s)))
1
2
3
4
1
<class 'str'>
1
<class 'int'>

map オブジェクトはイテレーター

1
2
3
4
5
input_str = "1 3"
a = map(int, input_str.split())
print(a.__next__())
print(a.__next__())
print(a.__next__())
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
1
3



---------------------------------------------------------------------------

StopIteration                             Traceback (most recent call last)

<ipython-input-3-c797e216c7f4> in <module>()
      3 print(a.__next__())
      4 print(a.__next__())
----> 5 print(a.__next__())


StopIteration:

参考:標準入力

第二問 ABC 081 A - Placing Marbles

1
2
input_str = "101"
print(input_str.count("1"))
1
2
1
2
input_str = "abcabcab"
print(input_str.count("a"))
1
3
1
2
input_str = "abcabcab"
print(input_str.count("abc"))
1
2

プログラミングの一般論

インポートまわりの話

初心者にありがちな話:モジュールの内容を全部インポートする

1
2
3
from sympy import *
from numpy import *
x,y,z = symbols("x,y,z")

問題点

1
2
import numpy as np
import matplotlib.pyplot as plt

いろいろなインポートの指定

1
2
3
from fractions import Fraction
q = Fraction(3,4)
print(q)
1
3/4
1
2
3
import fractions
r = fractions.Fraction(3,4)
print(r)
1
3/4
1
2
3
import fractions as f
a = f.Fraction(3,4)
print(a)
1
3/4
1
2
from numpy import *
linspace(0, 10, 11)
1
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
1
2
import numpy
numpy.linspace(0, 10, 11)
1
array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

全体像をつかもう

膨大な量の経験が大事

楽しく量をこなすには?