print("##택배를 보내기 위한 정보를 입력하세요.##")
name = input("받는 사람: ")
address = input("주소 : ")
weight = int(input("무게(g) : "))
fee = weight * 5
print("** 받는 사람 ==>", name)
print("** 주소 ==>", address)
print("** 배송비 ==>", fee, "원")
import turtle
turtle.shape('turtle')
turtle.left(100)
turtle.forward(200)
a, b, c = 3, 4, 5
print(a*b+c)
print(c+a*b)
pweight = int(input("파운드(lb)를 입력하세요 :"))
lbtokg = round(pweight * 0.453592, 5)
print(pweight, "파운드(lb)는", lbtokg,"킬로그램(kg)입니다.")
kweight = int(input("킬로그램(kg)를 입력하세요 :"))
kgtolb = round(kweight * 2.204623, 5)
print(pweight, "킬로그램(kg)는", kgtolb,"파운드(lb)입니다.")
aws = input("사용하는 서비스(EC2/RDS/S3)를 입력하세요 : ")
if aws == "EC2" or aws =="ec2":
usetime = float(input("한달 총 사용시간을 입력하세요 : "))
useamount = float(input("수량을 입력하세요 : "))
result = 0.0059 * usetime * useamount
elif aws == "RDS" or aws == "rds":
usetime = float(input("한달 총 사용시간을 입력하세요 : "))
useamount = float(input("수량을 입력하세요 : "))
result = 0.266 * usetime * useamount
elif aws == "S3" or aws == "s3":
usegb = float(input("사용량(GB)을 입력하세요 : "))
result = 0.025 * usegb
print(aws, "1개월 요금은", result, "USD 입니다.")
⭐⭐ github에서 만들고 싶은 소스들은 영어로 검색해보고 공부하기!
큰따옴표를 연속으로 사용한 것은 같은 효과 내기
”””이랑 \n 같은 결과가 나온다
var1 = “””안녕
하세요”””
var2 = “난생\n처음”

input() : blocking 함수, enter값이 들어와야 끝나기 때문
upper 대문자, lower 소문자로 변환
var1=”python 안녕”
var1=var1.upper()
PYTHON 안녕
isupper() : 문자열이 모두 대문자면 True,
islower() : 문자열이 모두 소문자면 True
var1.isupper()
결과:
TRUE
count() : 문자열에서 어떤 글자가 몇 번 등장하는 지 확인
ss = "처음 파이썬을 처음으로 학습 중입니다. 파이썬은 처음이지만 재미있네요. ^^”
ss.count("처음")
결과:
3
find() : 어떤 글자가 문자열의 몇 번째에 위치하는지 찾음(문자열은 0부터 시작)
ss.find(”처음”)
ss.find(”처음”, 4)
→ 찾을 단어, 시작위치
문자열을 거꾸로 출력하는 프로그램
var1 = "트와이스"
print("원본 문자열 ==>", var1)
결과:
원본 문자열 ==> 트와이스
print("반대 문자열 ==>", var1[3], var1[2], var1[1], var1[0])
결과:
반대 문자열 ==> 스 이 와 트
print("반대 문자열 ==>", var1[3] +var1[2] + var1[1] + var1[0])
결과:
반대 문자열 ==> 스이와트
if문, if-else문, 중첩if문, elif문
score = int(input("점수를 입력하세요."))
if score >= 90:
print("A", end='')
else:
if score >= 80:
print("B", end='')
else:
if score >=70:
print("C", end='')
else:
if score>=60:
print("D", end='')
else:
print("F", end='')
print("학점입니다.")
score = int(input("점수를 입력하세요."))
if score >= 90:
print("A", end='')
elif score >= 80:
print("B", end='')
elif score >= 70:
print("C", end='')
elif score >= 60:
print("D", end='')
else:
print("F", end='')
print("학점입니다.")
import random
com_choice = random.randint(1, 100) % 3 + 1
if my_Choice == com_choice: #비김
elif ((my_choice -com_choice) == 1) or ((my_choice-```
com_choice) == -2): #내가 이김
else: #컴 이김
→ 가위/바위/보를 숫자로 바꿔서 하는 방법: 더 간단하다!
아래는 하나하나 if문 만들어서 연습해보기
import random
my_score = 0
com_score = 0
for i in range(1, 6):
comgame = random.choice(["가위", "바위", "보"])
print("\n", i,"번째 게임")
mygame = input("나의 가위/바위/보 ==>")
i+=i
if mygame == "가위":
print("컴퓨터의 가위/바위/보 ==>", comgame)
if comgame == "가위":
print("비겼습니다.")
elif comgame == "바위":
print("졌습니다.")
com_score += 1
elif comgame == "보":
print("이겼습니다.")
my_score += 1
elif mygame == "바위":
print("컴퓨터의 가위/바위/보 ==>", comgame)
if comgame == "가위":
print("이겼습니다.")
my_score += 1
elif comgame == "바위":
print("비겼습니다.")
elif comgame == "보":
print("졌습니다.")
com_score += 1
elif mygame == "보":
print("컴퓨터의 가위/바위/보 ==>", comgame)
if comgame == "가위":
print("졌습니다.")
com_score += 1
elif comgame == "바위":
print("이겼습니다.")
my_score += 1
elif comgame == "보":
print("비겼습니다.")
else:
print("다시 입력하세요.")
print("\n=>나는", my_score,"번 이겼습니다.")
print("=>컴퓨터는", com_score,"번 이겼습니다.")

→ 내가 만든 코드 및 결과
score 비교해서 누가 이겼는지도 할 수 있겠지.. 마지막에 간단하게 2:2 이런식으로 출력해야 더 간단할듯
import random
count_dice = 0
dice_number = 0
while True:
count_dice += 1
dice1 = random.randint(1, 6)
dice2 = random.randint(1, 6)
dice3 = random.randint(1, 6)
if (dice1 == dice2) and (dice2 == dice3):
dice_number = dice1
break
print("3개의 주사위는 모두", dice_number, "입니다.")
print("같은 숫자가 나오기까지", count_dice, "번 던졌습니다.")
#1
print("1")
for i in range(1, 7):
print('*' * i)
print("\n")
#2
print("2")
for i in range(6, 0, -1):
print('*' * i)
print("\n")
#3
print("3")
for i in range(1,7):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
print("\n")
*#3-2_몫으로 하는거 한번 더 생각해보기,
#이렇게 하면 안됨
#print("3-2")
#for i in range(1,10,2):
# str_star="*" * i
# str_space = " " * ((11//2)-i)
# str_all = str_space+str_star
# print(str_all)
#print("\n")*
#4
print("4")
for i in range(1, 6):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
for i in range(4, 0, -1):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
print("\n")
#5
print("5")
for i in range(5, 0, -1):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
for i in range(1, 6):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
print("\n")
#6 -> 옆에 다시 만들기
print("6")
for i in range(1, 6):
for j in range(12-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")
for i in range(1, 6):
for j in range(6-i):
print(" ", end='')
for j in range(1, i*2):
print("*", end="")
print("")


numList =[0, 0, 0, 0]
hap = 0
numList[0] = int(input("숫자 : "))
numList[1] = int(input("숫자 : "))
numList[2] = int(input("숫자 : "))
numList[3] = int(input("숫자 : "))
hap = numList[0] + numList[1] + numList[2] + numList[3]
print(hap)
print(numList)
for i in range(0, 4):
print(numList[i])

numlist = [10, 20, 30, 40]
print(numlist[0:1])
[10]
print(numlist[0:3])
[10, 20, 30]
print(numlist[1:3])
[20, 30]
print(numlist[2:])
[30, 40]
print(numlist[4:])
[]
append(값) : 맨 뒤에 값 추가하기
insert(위치, 값) : 정해진 위치에 값 삽입하기
del() : 리스트의 항목 삭제, 인덱스없이 리스트명 넣으면 리스트 전체 삭제
remove(지울 값) : 리스트에서 특정 값 삭제
pop() : 제일 뒤의 값을 뽑아내서 값을 알려준 뒤 삭제함
count(찾을 값) : 찾을 값이 몇 개인지 개수를 세서 알려줌
sort() : 리스트의 값을 정렬함, sort(reverse=True) : 내림차순으로 정렬
reverse() : 리스트의 마지막 인덱스부터 위치가 반대로 됨 numlist.reverse()
copy() : 리스트를 새로운 리스트로 복사함
nameList = []
scoreList = []
hap = []
while True:
name = input("선수 이름을 입력하시오:")
nameList.append(name)
if name == "q":
nameList.pop()
break
else:
score1 = int(input("태도점수: "))
score2 = int(input("기술점수: "))
score3 = int(input("예술점수: "))
scoreList.append([score1,score2,score3])
continue
print("\n****결과****")
for i in range(0, len(nameList)):
hap.append(scoreList[i][0] + scoreList[i][1]+ scoreList[i][2])
print(nameList[i], ":", hap[i])

튜플은 읽기 전용 리스트, () 사용, ()없이도 사용 가능, 수정 불가, 튜플 → 리스트 → 튜플 변환 가능
딕셔너리변수 = { 키1: 값1, 키2: 값2, 키3: 값3 ….}
key(단어), : value(값)
키는 중복되지 않고 유일함
empDict = {'사번': 1000, '이름': '홍길동', '연락처': '010-1111-2222'}
empDict[’연락처’] = ‘010’ ….
for key in empDict.keys() :
print( key , empDict[key])
for key in ['사번', '이름', '부서'] :
print( key, empDict[key]
결과:
사번 1000
이름 홍길동
부서 케이팝
def calc(num1, op, num2):
result = 0
if op == "+":
result = num1 + num2
elif op == "-":
result = num1 - num2
elif op == "*":
result = num1 * num2
elif op == "/":
result = num1 / num2
else:
print("오류입니다.계산을 다시 입력하세요.")
return result
op = input("계산 입력(+, -, *, /): ")
num1 = int(input("첫 번째 숫자 입력 : "))
num2 = int(input("두 번째 숫자 입력 : "))
#print(calc(num1, op, num2)
print("##계산기 :", num1, op, num2, "=", calc(num1, op, num2))
줄바꿈 print(”bbbb”, end=””)
default가 print(”bbbb”, end=\n”) → 이므로 줄바꿈 안하려면 위처럼 end 설정 필요함
지역변수, 전역변수
지역변수: 한정된 지역(local)에서만 사용되는 변수
전역변수: 프로그램 전체(global)에서 사용되는 변수
암호화, 복호화
ord, char
파일 읽기와 쓰기
readline(), readlines() : 파일 읽기
readline→ 각 라인을 리스트 형태로 저장
파일클래스에서 infile.readline()
.readline() 매소드
sys.argv[0] :파이썬에서 작성된 프로그램을 실행할 때 인자값에 전달받아서 처리해야 하는 경우에, sys.argv에 값을 담아 처리할 수 있다.
포트스캐너
해당하는 포트를 열고 서버가 실행되는지 확인하기
3주차 후기: 3주차는 python 위주로 수업했다. 파이썬은 이전에 접했던 경험이 있어서 리눅스보다 훨씬 훨씬 무난했고, 의외로 풀 수 있는 문제들이 많아서 금방 금방 넘어갔다. 리눅스할 때는 여기저기 도움을 청했는데 파이썬으로 가니까 오히려 내가 다른 사람들을 알려줄 수 있어서 다행이었다.. 그치만.. 이제 뒤부터는 정말 몰라서 열심히 해야함.
아!아직 진도가 덜 나갔는데 4주차에 추석이 겹쳐서 갑자기 미니프로젝트를 진행.. 아직 배운 것도 많이 없는데! 관제시스템을 만들라는 프로젝트를 받았고.. 투비컨티뉴.. 다음주 3일간 있었던 일을 차근 차근 정리해서 올려야겠다.. 이미 3주 5일차에 팀을 정하고 프로젝트 기획을 했다....는 사실