TIL. 201028_PYTHON(2)


1-50コメント


個人的に勉強するのはちょっと難しいですね.覚えたい!考える部分を残す

8:ディクシャナリキの名前を繰り返す

d = {'height': 100, 'weight':78, 'weight': 84, 'temparture': 36, 'eyesight':1 }
print(d['weight'])
  • のキー値を繰り返すと、最後の値出力(右側の値が上書きされているとみなされる)
  • が出力される.

    10:星を撮る

    n = int(input())
    for i in range(1, n+1):
        	print(" "*(n-i), "*" * (2*i-1))

    *また、空白の処理方法も考慮する必要があります.

    12:ゲームキャラクタクラスの作成

    class Wizard:
        def __init__(self, health, mana, armor):
            self.health = health
            self.mana = mana
            self.armor = armor
        def attack(self):
            print("파이어볼")
    x = Wizard(health = 545, mana = 210, armor = 10)
    print(x.health, x.mana, x.armor)
    x.attack()
  • は簡単な教室制作ですが、教室学習にもっと必要な部分だと思います!
  • 27:ディックキャンプの作成

    keys = input().split()
    values = map(int, input().split()
    result = dict(zip(keys, values))
    print(result)
  • zip関数
    zip(iterable)は、同じ数からなるデータ型をグループ化できる関数です.
    ※ここで使用するiterableは、複数の繰り返し可能な資料型を入力できることを示しています.
    注意:https://wikidocs.net/32#zip-ジャンプデュアルPython
  • 30:文字列内の文字を検索する

    a = input()
    b = input()
    result = a.index(b)
    print(result)
  • インデックスとfindの違いは、findが存在しない文字または文字列を検索すると-1を返し、インデックスが存在しない文字または文字列を検索するとエラーを返すことです.
  • 33:逆出力

    n = input().split()
    n.reverse()
    print(' '.join(n))
  • と逆差
  • 逆方向はlistタイプが提供する関数
  • である.
  • は逆方向に値を返さない.このリストを単純に混合する
  • はlistが提供する関数ではなく、内蔵関数です.
  • は、オブジェクトを逆方向に返します.
  • を使用するには、list(オブジェクトを返す)or join文を使用して文字列として作成します.
  • 34:sortの実装

    data = list(map(int, input().split()))
    data_d = data.copy()
    data.sort()
    if data_d == data:
        print("YES")
    else:
        print("NO")
  • data d=データはこのようにコピーできません
  • なぜ…?同じオブジェクトでデータ値を置き換えると、データdの値も
  • に変更されます.
  • sort()とsorded()の差
  • aがリストであると仮定する
  • 印刷(a.sort()->None出力
  • a.sort()->print(a)->正常出力sort値
  • ソート(a)->通常ソート値出力
  • 41:少数判別

  • 小数:1と自分だけの残りの0
  • 小数(素数、発音:[反語]、文化語:氏数、英語:prime number)は、自分より小さい2つの自然数に、起こり得ない1つ以上の自然数を乗じたものである.ウィキペディア
  • import math
    def prime_number(n):
        i = 3
        if n == 2:
            return print("YES")
        if n == 1:
            return print("NO")
        if n % 2 == 0:
            return print("NO")
        n_sqrt = math.sqrt(n)
        while i <= n_sqrt:
            if n % i == 0:
                return print("NO")
            else:
                i = i + 2
            return print("YES")
        return print("YES")
    prime_number(int(input()))
  • の数値範囲を減らす...どうして?時間の複雑さをnからsqrt(n)に変えるために!
  • N = A * B
  • ある数nが小数でない場合、n=a*b関係となる.aであると仮定する
  • 本のnを基準として、少なくとも1つのn未満のaが存在する.
  • は、ルートnより小さい数(a)をnで割ると小数ではないと結論した.1、2を除く
  • 41(番外編):エラトニテスの体

  • 2から、素数を要求したい区間の全数をリストする.図中の灰色の矩形で囲まれた数はこれに相当する.
  • 2は少数で、右に2と書きます.
  • 自分以外の2の倍数をクリアします.
  • の残りの数の中で、3は少数なので、右側に3と書きます.
  • 自分以外の3の倍数をクリアします.
  • の残りの数のうち、5は少数なので、右に5と書きます.
  • 自分以外の5の倍数をクリアします.
  • の残りの数の中で、7は少数なので、右側に7と書きます.
  • 自分以外の7の倍数をクリアします.
  • ビット目のプロセスを繰り返し、求めた区間のすべての少数の残りを返します.
  • def prime_list(n):
        # 에라토스테네스의 체 초기화: n개 요소에 True 설정(소수로 간주)
        sieve = [True] * n
        # n의 최대 약수가 sqrt(n) 이하이므로 i=sqrt(n)까지 검사
        m = int(n ** 0.5)
        for i in range(2, m + 1):
            if sieve[i] == True:           # i가 소수인 경우
                for j in range(i+i, n, i): # i이후 i의 배수들을 False 판정
                    sieve[j] = False
        # 소수 목록 산출
        return print([i for i in range(2, n) if sieve[i] == True])
    prime_list(int(input()))
  • 参考資料:ウィキペディア

    42:2020年

  • datetimeモジュール
  • を使用
    import datetime
    a = int(input())
    b = int(input())
    data = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
    d = datetime.date(2020, a, b)
    print(data[d.weekday()])
  • タイムモジュールを必要とすることなく
  • を実施できる.
    https://zetawiki.com/wiki/Zeller%EC%9D%98_%EA%B3%B5%EC%8B%9D(Zellerの公式参考...ううう)

    50:発泡ソートの実施

    def bubble(n, data):
        for i in range(n-1):
            for j in range(len(data)-1):
                if data[j] > data[j+1]:
                    temp = data[j+1]
                    data[j+1] = data[j]
                    data[j] = temp
        for i in range(n):
            print(data[i], end=" ")
    n = int(input())
    data = list(map(int, input().split()))
    bubble(n, data)
  • 少なくとも1つは自分の位置を見つけることができます...
  • forで一度ドアを回すと、最後に来る数字が決まります…!
  • tempを書かないで、data[j],data[j+1]=data[j+1]、data[j]!Pythonでいいです!