프로그래밍/파이썬🐍

[완독](11)점프투파이썬_6장 파이썬 프로그래밍, 어떻게 시작해야 할까?

개발자 덕구🐾 2022. 1. 9. 10:58
728x90

6-2 3과 5의 배수 합하기

result = 0
for i in range(1,1000) :
    if i %3 ==0 or i %5 == 0 :
        result+= i
    
print(result)

 

6-3 게시판 페이징하기

def getTotalPage(n,m) :
    if n%m ==0 :
        return n/m
    else : return (n//m) +1 # 소수점 뒤자리를 버린다. 

print(getTotalPage(5,10))
print(getTotalPage(15,10))
print(getTotalPage(25,10))
print(getTotalPage(30,10))

 

 

6-4 간단한 메모장 만들기

python memo.py -a "Life is too short" 를 했을 대 

메모를 추가 할 수 있도록 만들기

 

import sys
option = sys.argv[1]

if option == '-a' :
    for i in range(2 ,len(sys.argv)) :
        memo = sys.argv[i]
        f = open('memo.txt','a')
        f.write(memo)
        f.write('\n')
    f.close()
elif option == '-v': 
    f = open('memo.txt','r')
    memo = f.readlines()
    print(memo)
    f.close()

 

책에 있는 코드는 한개의 memo 만 적는 코드여서 

입력한 메모 수에 따라 한줄씩 모두 적어주는 코드로 만들어보았다.

 

 

 

 

6-5 탭을 4개의 공백으로 바꾸기

 

import sys
src = sys.argv[1]
dst = sys.argv[2]

f = open(src,'r')
tab_content = f.read()
f.close()

space_content = tab_content.replace("\t","' '*4")
print(space_content)

f = open(dst,'w')
f.write(space_content)
f.close()

 

 

연습문제

 

Q1.

 

def compress(input):
    _c=""
    cnt = 0
    result =""
    for c in input :
        if _c != c :
            _c = c
            if cnt : result += str(cnt)
            result += c
            cnt = 1 
        else : cnt+=1
    if cnt : result += str(cnt)
    return result 

print(compress(input('문자를 입력해주세요')))

 

문자를 입력받는 코드로 변경해보았다. 

 

 

Q2. 

 

def check(s) :
    result = []
    for i in s :
        if i not in result :
            result.append(i)
        else : return False
    return len(result) == 10

print(check('0123456789'))
print(check('01234'))
print(check('01234567890'))

 

 

 

 

 

정규표현식과 XML은 pass 하겠다. 

 

이렇게 1/7일 부터 1/9일까지 do it!  점프투파이썬을 끝냈다. 

파이썬에 대한 조금의 자신감이 생겼고 기초를 다지는 시간이었다. 

배운 지식 잊지말고 계속 사용해서 내면화 할 수 있기를 

 

반응형