[참고] Doing Math With Python - 저자 : AMIT SAHA


'''Find the factors of an integer'''


def factors(b):

    for i in range(1, b+1):

        if b%i == 0:

            print(i)

            

if __name__ == '__main__':

    b = input('Your Number Please: ')

    b = float(b)

    

    if b>0 and b.is_integer():

        factors(int(b))

    else:

        print('Please enter a positive integer')



1. 우분투 접속

2. 자기 PC 32bit, 64bit 확인하고 Visual Stuido Code 다운로드(확장자 .deb)

3. $sudo dpkg -i code_버전.deb 

4. 오류 발생


5. 추가 오류 발생


6. $sudo apt --fix-broken install    // 'y' 입력

7. $$sudo dpkg -i code_버전.deb    // 설치 진행

8. 앱에 검색해서 실행


[참고] 

1. 박우창 교수님 http://dblab.duksung.ac.kr/ds/about.html

2. 언제나 휴일 

http://ehclub.co.kr/category/%EC%96%B8%EC%96%B4%20%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/%EB%94%94%EB%94%A4%EB%8F%8C%20%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0%20%28C%EC%96%B8%EC%96%B4%29

※참고 : https://github.com/dabeaz/python-cookbook



[Problem]

  1. 딕션어리로 계산하기 (1.8 Calcuating with Dictionaries 13페이지)
  2. 딕션어리 subset 추출하기
  3. 보통 2개의 딕션어리가 무엇인지 이해하기 (1.9 Finding Commonalities in Two Dictionaries 15페이지)
  4. common key로 딕션어리 리스트 분류하기

[Source]

1. 딕션어리로 계산하기

prices = {

   'ACME': 45.23,

   'AAPL': 612.78,

   'IBM': 205.55,

   'HPQ': 37.20,

   'FB': 10.75

}


# Find min and max price

min_price = min(zip(prices.values(), prices.keys()))        #딕션어리명.keys() 함수는 리스트 출력

   #딕션어리명.values() 함수는 값 출력

max_price = max(zip(prices.values(), prices.keys()))       #zip(), min(), max()는 각각 합침, 최소값, 최대값 의미


print('min price:', min_price)

print('max price:', max_price)


print('sorted prices:')

prices_sorted = sorted(zip(prices.values(), prices.keys()))     #sorted() 오름차순으로 정렬하는 함수

for price, name in prices_sorted:

    print('    ', name, price)


2. 딕션어리 subset 추출하기



3. 보통 2개의 딕션어리가 무엇인지 이해하기

a = {

   'x' : 1,

   'y' : 2,

   'z' : 3

}


b = {

   'w' : 10,

   'x' : 11,

   'y' : 2

}


print('Common keys:', a.keys() & b.keys())

print('Keys in a not in b:', a.keys() - b.keys())

print('(key,value) pairs in common:', a.items() & b.items())


4. common key로 딕션어리 리스트 분류하기

rows = [

    {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003},

    {'fname': 'David', 'lname': 'Beazley', 'uid': 1002},

    {'fname': 'John', 'lname': 'Cleese', 'uid': 1001},

    {'fname': 'Big', 'lname': 'Jones', 'uid': 1004}

]


from operator import itemgetter


rows_by_fname = sorted(rows, key=itemgetter('fname'))

rows_by_uid = sorted(rows, key=itemgetter('uid'))


from pprint import pprint


print("Sorted by fname:")

pprint(rows_by_fname)


print("Sorted by uid:")

pprint(rows_by_uid)


rows_by_lfname = sorted(rows, key=itemgetter('lname','fname'))

print("Sorted by lname,fname:")

pprint(rows_by_lfname)


※ 참고 : 
  • heapq 모듈은 nlargest() 와 nsmallest() 함수를 가짐

import heapq


nums = [-1, 2, 3, 4, 5, 6, -4, 22, 30, 100]

print(heapq.nlargest(3, nums)) #nums 에서 가장 큰 3개 수 출력

print(heapq.nsmallest(3, nums)) #nums 에서 가장 작은 3개 수 출력



nums = [1,8,2,-4]

import heapq

heap = list(nums)

heapq.heapify(heap)  #heap[0]에 가장 작은 수 부터 배치

heap


  • sorted(items)[:N] 또는 sorted(items)[-N:] 명령어가 빠르고 유사함


'#Python Cookbook #D.Beazly, B.K. Jones' 카테고리의 다른 글

#dictionary 예제 분류  (0) 2018.10.19

[참고]

Argparse Tutorial

https://docs.python.org/3.9/howto/argparse.html#id1

https://docs.python.org/3/library/argparse.html?highlight=argparse

 

  • argparse 모듈은 커맨드 라인 인터페이스에 적용하기 쉽게 만들어진 모듈
  • argparse 모듈은 자동으로 help를 생성하고 사용자가 프로그램에 잘못된 인수를 넣으면 사용 메시지와 에러 메시지를 생성함

ArgumentParser objects

class argparse.ArgumentParser(prog=Noneusage=Nonedescription=Noneepilog=Noneparents=[]formatter_class=argparse.HelpFormatterprefix_chars='-'fromfile_prefix_chars=Noneargument_default=Noneconflict_handler='error'add_help=Trueallow_abbrev=True)

Create a new ArgumentParser object. All parameters should be passed as keyword arguments. Each parameter has its own more detailed description below, but in short they are:

  • prog - The name of the program (default: sys.argv[0])
  • usage - The string describing the program usage (default: generated from arguments added to parser)
  • description - Text to display before the argument help (default: none)
  • epilog - Text to display after the argument help (default: none)
  • parents - A list of ArgumentParser objects whose arguments should also be included
  • formatter_class - A class for customizing the help output
  • prefix_chars - The set of characters that prefix optional arguments (default: ‘-‘)
  • fromfile_prefix_chars - The set of characters that prefix files from which additional arguments should be read (default: None)
  • argument_default - The global default value for arguments (default: None)
  • conflict_handler - The strategy for resolving conflicting optionals (usually unnecessary)
  • add_help - Add a -h/--help option to the parser (default: True)
  • allow_abbrev - Allows long options to be abbreviated if the abbreviation is unambiguous. (default: True)

Changed in version 3.5: allow_abbrev parameter was added.

The following sections describe how each of these are used.

'#Learn More Python3 the Hard Way #제드 쇼 ' 카테고리의 다른 글

#python #연산자  (0) 2019.07.11
# 구식 문자열 포맷  (0) 2019.07.10

[참고]

https://wiki.ubuntu-kr.org/index.php/GUI(QT)_Programming#.EC.BB.A8.ED.8A.B8.EB.A1.A4

'#C&C++ #영상비전#Qt' 카테고리의 다른 글

#opencv 2.4.13 설치하기(c/c++)  (0) 2018.09.05
#Qt Creator #QCamera 예제  (0) 2018.08.28
#Qt #Qt 개발자 커뮤니티  (0) 2018.08.28
#Qt버전 확인 #qt 설치 #qmake  (0) 2018.08.24
#Qt #QVision환경설정  (0) 2018.08.24

[참고]


+ Recent posts