[Python] CHAP. 03


1.繰り返し練習(1)


-再帰関数recursion


:関数で知己のシェイプを再呼び出し
def sum(n):
	if n==1:
    	return 1
    return n+sum(n-1)
    
a = sum(10)
print(a)

-加算を使用した乗算


:乗算は複数回加算
a = 2
b = 3
s = 0
for i in range(b)
	s = s + a
print(a, "X", B, "=", S)
  • 関数に置換
    :関数を定義してインデントし、関数のコードブロック
  • に変換する
    def multiply(a,b):
    	s = 0
        for i in range(b)
        	s = s + a
        return s
        
    a = 2
    b = 3
    c = multiply(a,b)
    print(a, "X", b, "=", c)

    -条件文

  • 加算による乗算
  • def multifly(a,b)
     	s = 0
     	a_abs = a
        b_abs = b
        
    	negatives = 0;
    	if a < 0:
        	negative += 1
            a_abs = -a
        if b < 0:
        	negative += 1
            b_abs = -b
            
        #positive : True, negative : False
        sign = negatives % 2 == 0
        
        for i in range(b_abs):
         	s = s + a_abs
            
        if (sign == False):
        	s = -s
            
        return s
        
    a = input()
    b = input()
    s = multifly(a, b)
    print(a, 'x', b, '=', s)
    +もっといい
    def multifly(a, b)
    	s = 0
        if (b < 0):
        	for i in range(-b)
            	s = s - a
        else:
        	for i in range(b):
            	s = s + a
        return s
        
    a = input()
    b = input()
    c = multifly(a, b)
    print(a, "x", b, "=", c)

    -使用法


    :いくつか縛っておきます.tupleの名前があります.
  • 通常は2つの値を変更します:
  • a = 1
    b = 2
    print(a, b)
    t = a
    a = b
    b = t
    print(a, b)
  • Pythonで2つの値を置き換える方法
  • a = 1
    b = 2
    print(a, b)
    (a, b) = (b, a)
    print(a, b)

    -小数点以下の大数が保持されている関数を作成します。


    こうなった上は調子をつけよう
    import random
    def getMaxMin(a, b):
    	if a < b :
        	maxValue = b
            minValue = a
        else:
            maxValue = a
            minValue = b
        return (maxValue, minValue)
        # 두 값을 하나로 묶어서 남긴다
        
    a = random.randint(0, 100)
    b = random.randint(0, 100)
    max, min = getMaxMin(a, b)
    print("max:", max, "min:", min)

    - while


    :何回繰り返すかわからないときに使う複文
    i = 0
    while(i < 3):
    	print(i)
        i = i + 1
    print("end of 'while' ")

    2.繰り返し練習(2)


    -アスタリスク出力

    j = 0
    for k in range(3)
    	j = j + 1
        for i in range(j):
        	print("*", end="")
        print()

    - range

  • for i in range(a):
    -iは0から1に増加する、aの前にコードブロックの内容
  • を繰り返す.
  • for i in range(a, b):
    -iはaから1にインクリメントする、bの前にコードブロックの内容
  • を繰り返す.
  • for i in range(a, b, c):
    -iはaからcへインクリメントされ、bの前にコードブロックの内容が繰り返される
    -rangeでは、3回の再値に負の値を指定することもできます.
  • for i in range(2, 11, 2):
    	print(i, end=" ")
    [결과]
    2 4 6 8 10

    -カウントダウン


    :timeモジュールはsleep()という関数を提供します.指定された秒内に何もしません.
    import time
    for i in range(10, 0, -1):
    	print(i)
        time.sleep(1)	# 모듈이름 + . + 함수이름(1초동안 멈춘다)
        
    print("펑")
    print("%c"%(7))
    print("{0:c}:.format(7)	# 소리 나는 방법

    -文字列の処理

  • ASCII code table
  • コンピュータには数字しか保存できません.
  • 文字の代わりに数字を配置しました.
  • 例えば、「A」は65、「B」は66である.
  • アスキーコードを有するテーブル
  • この切符は世界共通です.
  • については、7、8、13、27、32、65を参照してください.
  • -文字コード関連関数

    >>> 65
    65
    >>>chr(65)
    'A'
    >>>chr(66)
    'B'
    >>>chr(67)
    'C'
    for i in range(65, 65+26):
    	c = chr(i)
        print(c, end='')
    [결과]
    ABCDEFGHIJKLMNOPQRSTUVWXYZ