code08-01.py

ss = "파이썬최고"
print(ss[0])
print(ss[1:3])
print(ss[3:])

ss= "파이썬"+"최고"
print(ss)
ss = "파이썬"*3
print(ss)

ss = "파이썬짱!"

sslen = len(ss)
for i in range(sslen):
    print(ss[i]+"$", end = "")

ss="파이썬은완전재미있어요"
sslen = len(ss)
for i in range(sslen):
    if len(ss[i])%2==0:
        print(ss[i], end = "")
    else:
        print("#")

 

code08-02.py

##변수 선언 부분##
inStr,outStr = "",""
count, i =0,0

##메인 코드 부분 ##
inStr = input("문자열을 입력하세요 : ")
count = len(inStr)

for i in range(0,count):
    outStr +=inStr[count - (i+1)]

print("내용을 거꾸로 출력 -> %s" % outStr)

 

code08-03.py

# ss = "Pyhon is Easy. 그래서 programming이 재미있습니다"
# print(ss.upper())
# print(ss.lower())
# print(ss.swapcase())
# print(ss.title())

#결과값
# PYHON IS EASY. 그래서 PROGRAMMING이 재미있습니다
# pyhon is easy. 그래서 programming이 재미있습니다
# pYHON IS eASY. 그래서 PROGRAMMING이 재미있습니다
# Pyhon Is Easy. 그래서 Programming이 재미있습니다

# ss = "파이썬 공부는 즐겁습니다. 물론 모든 공부가 다 재미있지는 않죠. ^^"
# print(ss.count("공부"))
# print(ss.find("공부"), ss.rfind("공부"), ss.find("공부", 5), ss.find("없다"))
# print(ss.index("공부"), ss.rfind("공부"), ss.index("공부", 5))
# print(ss.startswith("파이썬"), ss.startswith("파이썬", 10), ss.endswith("^^"))

# 2
# 4 21 21 -1 
# 4 21 21 #번째가 아니라 몇 번이다
# True False True

ss= input("입력 문자열 ==> ")
print("출력 문자열==> ", end = " ")

if ss.startswith("(") == False :
    print("(", end = " ")

print(ss, end = " ")

if ss.endswith(")") == False :
    print(")", end = " ")

 

code08-04.py

ss = "   파 이 썬   "
print(ss.strip())
print(ss.rstrip())
print(ss.lstrip())

ss="----파---이---썬----"
print(ss.strip("-"))
ss="<<파<<이>>썬>>"
print(ss.strip("<>"))

inStr = "  한글 Python 프로그래밍  "
outStr = ""

for i in range(0, len(inStr)) :
    if inStr[i] != " ":
        outStr += inStr[i]
print("원래 문자열 ==> "+ "[" + inStr + "]")
print("공백 삭제 문자열 ==> "+ "[" + outStr + "]")

 

code08-05.py

ss = input("입력 문자열 ==> ")

print("출력 문자열 ==> ", end = " ")
for i in range(0, len(ss)):
    if ss[i] != "o" :
        print(ss[i], end = " ")
    else:
        print("$", end = " ")

 

code08-06.py

ss = input("날짜(연/월/일) 입력 ==> ")

ssList= ss.split("/")

print("입력한 날짜의 10년 후 ==> ", end = " ")
print(str(int(ssList[0])+10)+ "년", end = " ")
print(ssList[1] + "월", end= " ")
print(ssList[2] + "일")

ss = "파이썬"
ss.center(10)
ss.center(10, "-")
ss.ljust(10)
ss.rjust(10)
ss.zfill(10)

"1234".isdigit()
"abcd".isalpha()
"abc123".isalnum()
"abcd".islower()
"ABCD".isupper()
"  ".isspace()

 

code08-07.py

import turtle
import random
from tkinter.simpledialog import *

##전역 변수 선언 부분
inStr = ""
swidth, sheight= 300,300
tx, ty, txtSize = [0]*3

#메인 코드 부분
turtle.title("거북이 글자쓰기")
turtle.shape("turtle")
turtle.setup(width = swidth + 50, height = sheight +50)
turtle.screensize(swidth,sheight)
turtle.penup()

inStr = askstring("문자열 입력", "거북이 쓸 문자열을 입력")

for ch in inStr :
    tx = random.randrange(int(-swidth / 2), int(swidth /2))
    ty = random.randrange(int(-sheight / 2), int(sheight /2))
    r= random.random(); g= random.random(); b= random.random()
    txtSize =random.randrange(10, 50)

    turtle.goto(tx,ty)

    turtle.pencolor((r,g,b))
    turtle.write(ch, font=("맑은 고딕", txtSize, "bold"))



turtle.done()

 

'Language > Python' 카테고리의 다른 글

리스트, 튜플, 딕셔너리  (0) 2024.10.24
반복문  (0) 2024.10.24
조건문  (0) 2024.10.24
연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21

Code07-01.py

a,b,c,d, = 0,0,0,0
hap = 0

a = int(input("1번째 숫자 : "))
b = int(input("2번째 숫자 : "))
c = int(input("3번째 숫자 : "))
d = int(input("4번째 숫자 : "))

hap = a+b+c+d

print("합계 ==> %d" % hap)

 

Code07-02.py

aa = [0,0,0,0]
hap = 0

aa[0] = int(input("1번째 숫자 : "))
aa[1] = int(input("2번째 숫자 : "))
aa[2] = int(input("3번째 숫자 : "))
aa[3] = int(input("4번째 숫자 : "))

hap = aa[0]+aa[1]+aa[2]+aa[3]

print("합계 ==> %d" % hap)

 

Code07-03.py

aa = []
for i in range(0, 4) :
    aa.append(0)
hap = 0


for i in range(0,4) :
    aa[i] = int(input(str(i + 1) + "번째 숫자 : "))

# hap = aa[0] + aa[1] + aa[2] + aa[3]

#반복문 처리
for i in range(0,4) :
    hap = hap + aa[i]
print("합계 ==> %d" % hap)

 

Code07-04.py

aa = []
bb = []
value = 0

for i in range(0, 100):
    aa.append(value)
    value += 2

for i in range(0, 100):
    bb.append(aa[99 - i])

print("bb[0]에는 %d이, bb[99]에는 %d이 입력됩니다." % (bb[0], bb[99]))

#-1은 마지막 값
# [0:3:1] 0,1,2,3 [start : stop : step]
#[2:] 끝까지
#[:2] 처음부터

# aa = [10, 20, 30, 40]
# print("aa[-1]은 %d, aa[-2]는 %d" % (aa[-1], aa[-2]))

# aa = [10, 20, 30, 40]
# print(aa[0:3])
# print(aa[2:4])

# aa = [10, 20, 30, 40]
# print(aa[2:])
# print(aa[:2])

# bb = [10, 20, 30]
# print(aa + bb)
# print(aa*3)

# aa = [10, 20, 30, 40]

# print(aa[::-1])
# print(aa[::1])


# aa = [10, 20, 30] ; aa = []; print(aa)
# aa = [10, 20, 30] ; aa = None ; print(aa)
# aa = [10, 20, 30] ; del(aa) ; print(aa)

 

Code07-05.py

myList = [30, 20, 10]
print("현재 리스트 : %s" % myList)

myList.append(40)
print("append(40) 후의 리스트 : %s" % myList)

print("pop()으로 추출한 값 : %s" % myList.pop())
print("pop() 후의 리스트 : %s" % myList)

myList.sort()
print("sort() 후의 리스트 : %s" % myList)

myList.reverse()
print("reverse() 후의 리스트 : %s" % myList)

print("20값의 위치 : %d" % myList.index(20))

myList.insert(2,222)
print("insert(2,222) 후의 리스트 : %s" % myList)

myList.remove(222)
print("remove(222) 후의 리스트 : %s" % myList)

myList.extend([77, 88, 77])
print("extend([77, 88, 77]) 후의 리스트 : %s" % myList)

print("77값의 개수 : %d" % myList.count(77))

 

Code07-06.py

list1 = []
list2 = []
value = 1
for i in range(0,3):
    for k in range(0,4):
        list1.append(value)
        value +=1

        print(list1)

    list2.append(list1)

    print(list2)

    list1 = []

for i in range(0,3):
    for k in range(0,4):
        print("%3d" % list2[i][k], end = "")
    print("")

 

Code07-07.py

import turtle
import random

## 전역 변수 선언 부분 ##
myTurtle, tX, tY, tColor, tSize, tShape = [None]*6
shapeList = []
playerTurtles = []
swidth, sheight = 500,500

##메인코드부분##
if __name__ =="__main__" :
    turtle.title("거북 리스트 활용")
    turtle.setup(width = swidth + 50, height= sheight + 50)
    turtle.screensize(swidth, sheight)

    shapeList = turtle.getshapes()
    for i in range(0,100) :
        random.shuffle(shapeList)
        myTurtle = turtle.Turtle(shapeList[0])
        tX = random.randrange(int(-swidth/2), int(swidth/2))  # 정수로 변환
        tY = random.randrange(int(-sheight/2), int(sheight/2))  # 정수로 변환
        r = random.random(); g = random.random(); b = random.random()
        tSize = random.randrange(1,3)
        playerTurtles.append([myTurtle, tX, tY, tSize, r, g, b])

    for tList in playerTurtles :
        myTurtle = tList[0]
        myTurtle.color((tList[4],tList[5],tList[6]))
        myTurtle.pencolor((tList[4],tList[5],tList[6]))
        myTurtle.turtlesize((tList[3]))
        myTurtle.goto(tList[1], tList[2])

    
    turtle.done

 

Code07-08.py

#튜플은 만들면 수정 할 수가 없다

tt1 = (10,20,30); print(tt1)
tt2 = 10,20,30; print(tt2)
tt3 = (10); print(tt3)
tt4 = 10; print(tt4)
tt5 = (10, ); print(tt5)
tt6 = 10, ; print(tt6)

#오류
# tt1.append(40)
# tt1[0] = 40
# del(tt1[0])

del(tt1)
del(tt2)

tt1 = (10, 20, 30, 40)
print(tt1[0])
print(tt1[0] + tt1[1] + tt1[2])

myTuple = (10, 20, 30)
myList = list(myTuple)
myList.append(40)
myTuple = tuple(myList)
print(myTuple)



#딕셔너리
#순서가 없다
student1 = {"학번" : 1000, "이름" : "홍길동", "학과" : "컴퓨터공학과"}
print(student1)

student1["연락처"] = "010-1111-1111"
print(student1)

student1["학과"] = "파이썬"
print(student1)

del(student1["학과"])
print(student1)

student1 = {"학번" : 1000, "이름" : "홍길동", "학과" : "컴퓨터공학과", "학번" : 2000} #겹치면 동일한 딕셔너리 생성이 아닌 마지막에 있는 키가 적용된다
print(student1)



print(student1["학번"])

# print(student1["주소"]) #없는 딕셔너리는 가져오지 못해 오류가 난다
print(student1.get("주소")) #없으면 없다고 답이 온다

print(student1.keys())

print(list(student1.keys()))

print(student1.values())

print(student1.items())

print("이름" in student1)
print("주소" in student1)



singer = {}

singer["이름"] = "트와이스"
singer["구성원 수"] = 9
singer["데뷔"] = "서바이벌 식스틴"
singer["대표곡"] = "SIGNAL"

for k in singer.keys() :
    print("%s --> %s" % (k, singer[k]))

 

Code07-09.py

import operator

trainDic, trainList = {}, []

# trainDic = {"Thomas" : }

 

Code07-10.py

## 변수 선언 부분
foods = {"떡볶이":"오뎅",
        "짜장면" : "단무지",
        "라면" : "김치",
        "피자" : "피클",
        "맥주" : "땅콩",
        "치킨" : "치킨무",
        "삼겹살" : "상추"}

#메인코드부분
while (True) : 
    myfood = input(str(list(foods.keys())) + " 중 좋아하는 음식은?")
    if myfood in foods :
        print("<%s> 궁합 음식은 <%s>입니다." % (myfood, foods.get(myfood)))
    elif myfood == "끝" :
        break
    else :
        print("그런 음식이 없습니다. 확인해 보세요")

 

Code07-11.py

# #세트연습

# mySet1 = {1,2,3,3,3,4}
# print(mySet1)

# salesList = ["a", "b", "c", "d", "e", "a", "b", "c", "a"]
# print(set(salesList))

# # 값
# # {1, 2, 3, 4}
# # {'a', 'd', 'c', 'e', 'b'}

# mySet1 = {1, 2, 3, 4, 5}
# mySet2 = {4, 5, 6, 7}
# print(mySet1 & mySet2)
# print(mySet1 | mySet2)
# print(mySet1 - mySet2)
# print(mySet1 ^ mySet2)

# print(mySet1.intersection(mySet2))#교집합
# print(mySet1.union(mySet2))#합집합
# print(mySet1.difference(mySet2))#차집합
# print(mySet1.symmetric_difference(mySet2))#대칭 차집합

#컴프리헨션
#리스트 = [수식 for 항목 in ranger() if 조건식]
# numList = []
# for num in range(1,6) :
#     numList.append(num)
# print(numList)

# numList = [num for num in range(1, 6)]
# print(numList)

# numList = [num*num for num in range(1, 6)]
# print(numList)

# numList = [num for num in range(1, 21) if num % 3 ==0]
# print(numList)

#값
# [1, 2, 3, 4, 5]
# [1, 2, 3, 4, 5]
# [1, 4, 9, 16, 25]
# [3, 6, 9, 12, 15, 18]

# foods = ["떡볶이", "짜장면", "라면", "피자", "맥주", "치킨", "삼겹살"]
# sides = ["오뎅", "단무지", "김치"]
# tupList = list(zip(foods, sides))
# dic =dict(zip(foods, sides))
# print(tupList)
# print(dic)

#얕은복사
oldList = ["짜장명", "탕수육", "군만두"]
newList = oldList
print(newList)
oldList[0] = "짬뽕"
oldList.append("깐풍기")
print(newList)

#깊은복사
oldList = ["짜장명", "탕수육", "군만두"]
newList = oldList[:]
print(newList)
oldList[0] = "짬뽕"
oldList.append("깐풍기")
print(newList)

'Language > Python' 카테고리의 다른 글

문자열  (2) 2024.10.24
반복문  (0) 2024.10.24
조건문  (0) 2024.10.24
연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21

Code06-01(1).py

print("안녕하세요? for문을 공부 중입니다. ^^")
print("안녕하세요? for문을 공부 중입니다. ^^")
print("안녕하세요? for문을 공부 중입니다. ^^")

 

Code06-01(2).py

#for -> 횟수가 정해져 있을 때 사용
#while->조건에 따라 실행 할 때 사용


for i in range(2, -1, -1) :
    print("%d 안녕하세요? for문을 공부 중입니다. ^^" %i)

for i in range(1, 6, 1) :
    print("%d " %i, end=" ")

 

*for  변수 in range(시작값, 끝값+1, 증가값):
    반복
for i in[0,1,2]: = for i in range(0, 3, 1) : 

for i in range(2, -1, -2) : 

 

 

Code06-02(1).py

# i=0

# for i in range(1, 11, 1) :
#      hap = hap + i

# print("1에서 10까지의 합계 : %d" %hap)

i, hap=0, 0

for i in range(1, 11, 1) :
     hap = hap + i

print("1에서 10까지의 합계 : %d" %hap)

#hap을 변수 선언하지 않아서 오류가 나왔다
#그러나 파이썬은 변수 선언 없이 되지 않나?->그러나 hap이 누적이 되려면 hap이라는 존재가 있어야 하는데 없으므로 오류가 나온것

 

Code06-02(2).py

i, hap=0, 0

for i in range(1, 11, 1) :
     hap = hap + i

print("1에서 10까지의 합계 : %d" %hap)

 

Code06-03.py

i, hap = 0,0

for i in range(501, 1001, 2) :
    hap = hap + i

print("500과 1000 사이에 있는 홀수의 합계 : %d" %hap)

 

Code06-04.py

i, hap =0,0

a=0

a=int(input("숫자를 입력하시오 : "))

for i in range(1, a+1, 1):
    hap=hap + i

print("1과 %d 사이에 있는 합계 : %d" %(a, hap))

 

Code06-05.py

i, hap = 0,0
num1, num2, num3 = 0,0,0

num1 = int(input("시작값을 입력하세요 : "))
num2 = int(input("끝값을 입력하세요 : "))
num3 = int(input("증가값을 입력하세요 : "))

for i in range(num1, num2+1, num3):
    hap = hap + i

print("%d에서 %d까지 %d씩 증가시킨 값의 합계 : %d" % (num1, num2, num3, hap))

 

Code06-06.py

i, dan =0,0

dan = int(input("단을 입력하세요 : "))
          
for i in range(1, 10, 1) :
    print("%d X %d = %2d" %(dan,i, dan*i))

 

Code06-07.py

i, j =0, 0

          
for i in range(2, 10, 1) :
    for j in range(1, 10, 1) :
        print("%d X %d = %2d" %(i,j, i*j))
    print("")

 

Code06-08.py

# a=1

# while a<4:
#     print("%d : 안녕하세요? while문을 공부 중입니다. ^^" %a)
#     a = a+ 1


##전역 변수 선언 부분
i, k, guguLine = 0,0, ""

#메인 코드 부분
for i in range(2, 10) :
    guguLine = guguLine + ("# %d단 #" %i)
    # #2단# #3단#...이렇게 한줄로 문자열을 완성시켜  바로 밑에 프린트 한다

print(guguLine)

for i in range(1, 10) :
    guguLine = ""
    for k in range(2, 10) :
        guguLine = guguLine + str("%2dX %2d= %2d" %(k, i, k*i))
    print(guguLine)
    #구구단 또한 각 k단에 i을 곱한 걸 문자열로 모아서 한줄 프린트하고 i+1로 더해줘 똑같이 또 한 줄씩 프린트 해준다

 

Code06-09.py

i, hap = 0,0

i =1
while i < 11:
    hap = hap + 1
    i= i+1

print("1에서 10까지의 합계 : %d" %hap)

# i, hap=0, 0

# for i in range(1, 11, 1) :
#      hap = hap + i

# print("1에서 10까지의 합계 : %d" %hap)

 

Code06-10.py

hap=0
a, b, =0, 0

while True :
    a = int(input("더할 첫 번째 수를 입력하세요 : "))
    b = int(input("더할 두 번째 수를 입력하세요 : "))
    hap = a+b
    print("%d + %d = %d" %(a, b, hap))
    #컨트롤c를 눌러주면 깜빡이는곳에서 나가진다

 

*while
변수=시작값
while 변수<끝값 :
    반복
    변수 = 변수 + 증가값


while문이 무한정 출력될때 중지하려면 컨트롤+c를 눌러주면 된다. 

 

 

Code06-11.py

ch = ""
a,b = 0,0

while True:
    a = int(input("계산할 첫 번째 수를 입력하세요 : "))
    b = int(input("계산할 두 번째 수를 입력하세요 : "))
    ch = input("계산할 연산자를 입력하세요 : ")

    if(ch == "+") :
        print("%d + %d = %d" % (a,b,a+b))
    elif(ch == "-") :
        print("%d - %d = %d" % (a,b,a-b))
    elif(ch == "*") :
        print("%d * %d = %d" % (a,b,a*b))
    elif(ch == "/") :
        print("%d / %d = %5.2f" %(a, b, a/b))
    elif(ch == "%") :
        print("%d %% %d = %5.2f" %(a, b, a%b))
    elif(ch == "//") :
        print("%d // %d = %5.2f" %(a, b, a//b))
    elif(ch == "**") :
        print("%d ** %d = %5.2f" %(a, b, a**b))
    else :
        print("연산자를 잘못 입력했습니다.")

 

Code06-12.py

hap = 0 
a, b, =0,0

while True :
    a = int(input("더할 첫 번째 수를 입력하세요 : "))
    if a ==0 :
        break
    b = int(input("더할 두 번째 수를 입력하세요 : "))
    hap = a+b
    print("%d + %d = %d" % (a,b,hap))

print("0을 입력해 반복문을 탈출했습니다.")

#a=0이면 브레이크고 반복문을 탈출하여 11행으로 나오게 된다.

 

*break
컨트롤 c로 반복문을 탈출도 가능하지만 브레이크도 있다.
브레이크를 만나면 반복문을 나가 버린다

 

 

Code06-13.py

hap, i = 0, 0

for i in range(1, 101) :
    hap += i

    if hap >= 1000:
        break
print("1~100의 합계를 최초로 1000이 넘게 하는 숫자 : %d" %i)

 

Code06-14.py

hap, i = 0, 0

for i in range(1, 101) :
    if i % 3 == 0:
        continue

    hap +=i
print("1~100의 합계(3의 배수 제외) :  %d" %hap)
#컨티뉴로 나머지가 0이면 아래 명령으로 나가는게 아닌(남은 부분을 무조건 건너뛰고) 다시 반복문 처음으로 올라가게 된다.

 

*continue
continue를 만나면 남은 부분을 무조건 건너뛰고 반복문의 처음으로 돌아간다

 

Code06-15.py

i, k = 0,0

i=0
while i < 9 :
    if i< 5:
        k=0
        while k < 4 - i:
            print(" ", end= " ")
            k += 1
        k=0
        while k < i*2+1 :
            print("\u2605", end= " ")
            k += 1
    else:
        k = 0
        while k < i-4:
            print(" ", end= " ")
            k += 1
        k=0
        while k < (9-i)*2-1:
            print("\u2605", end= " ")
            k += 1
    print()
    i += 1

 

selfstudy6-1.py

i, hap = 0,0

for i in range(0, 101, 7) :
    hap = hap + i

print("0과 100 사이에 있는 7의 배수 합계 : %d" %hap)

 

selfstudy6-2.py

i, dan =0,0

dan = int(input("단을 입력하세요 : "))
          
for i in range(9, 0, -1) :
    print("%d X %d = %2d" %(i, dan,dan*i))

 

selfstudy6-3.py

i, j =0, 0

          
for i in range(2, 10, 1) :
    print("## %d단 ##" %i)
    for j in range(1, 10, 1) :
        print("%d X %d = %2d" %(i,j, i*j))
    print("")

 

selfstudy6-4.py

## 전역 변수 선언 부분 ##
i, k, guguLine = 0, 0, ""

# 9단부터 2단까지 제목 출력
for i in range(9, 1, -1):
    guguLine = guguLine + ("# %d단 #" % i)

print(guguLine)

# 9단부터 2단까지 구구단 출력
for i in range(9, 0, -1):
    guguLine = ""
    for k in range(9, 1, -1):
        guguLine = guguLine + str("%2d X %2d = %2d  " % (k, i, k * i))
    print(guguLine)

 

selfstudy6-5.py

i, hap = 0,0
num1, num2, num3 = 0,0,0

num1 = int(input("시작값을 입력하세요 : "))
num2 = int(input("끝값을 입력하세요 : "))
num3 = int(input("증가값을 입력하세요 : "))

while i <= num2 :
    hap = hap + i
    i = i + num3

print("%d에서 %d까지 %d씩 증가시킨 값의 합계 : %d" % (num1, num2, num3, hap))

 

selfstudy6-6.py

hap = 0 
a, b = 0, 0

while True:
    a = input("더할 첫 번째 수를 입력하세요 (종료: $) : ")
    
    # 종료 조건 확인
    if a == "$":
        break
        
    a = int(a)  # 문자열을 정수로 변환
    
    b = int(input("더할 두 번째 수를 입력하세요 : "))
    hap = a + b
    print("%d + %d = %d" % (a, b, hap))

print("종료 조건인 '$'를 입력해 반복문을 탈출했습니다.")

 

selfstudy6-7.py

hap, i = 0, 1 

while i <= 100:
    hap += i

    if hap >= 1000:
        break
    
    i += 1

print("1~100의 합계를 최초로 1000이 넘게 하는 숫자 : %d" % i)

 

selfstudy6-8.py

for i in range(9):
    if i < 5:
        k = 0
        for k in range(4 - i):
            print(" ", end=" ")
        for k in range(i * 2 + 1):
            print("\u2665", end=" ")
    else:
        k = 0
        for k in range(i - 4):
            print(" ", end=" ")
        for k in range((9 - i) * 2 - 1):
            print("\u2665", end=" ")
    print()

'Language > Python' 카테고리의 다른 글

문자열  (2) 2024.10.24
리스트, 튜플, 딕셔너리  (0) 2024.10.24
조건문  (0) 2024.10.24
연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21

Code05-01.py

# : 이 뒤에 코드 블록(하나의 덩어리)이 따라온다
#덩어리는 들여쓰기로 구분한다////다른 언어에서는 중괄호로 

a = 200

if a < 100 :
    print("100보다 작군요.")
print("거짓이므로 이 문장은 안 보이겠죠?")

print("프로그램 끝")

 

Code05-02.py

a = 200

if a < 100 :
    print("100보다 작군요.")
    print("거짓이므로 이 문장은 안 보이겠죠?")

print("프로그램 끝")

 

Code05-03.py

a = int(input("a= "))

if a < 100 :
    print("100보다 작군요.")
else :
    print("100보다 크군요.")

 

Code05-04.py

a = 200

if a< 100 :
        print("100보다 작군요.")
        print("참이면 이 문장도 보이겠죠?")
else :
        print("100보다 크군요.")
        print("거짓이면 이 문장도 보이겠죠?")

print("프로그램 끝")

 

Code05-05.py

a = int(input("정수를 입력하세요= "))

if a % 2 ==0 :
    print("짝수를 입력했군요.")
else :
    print("홀수를 입력했군요.")

 

Code05-06.py

# a = int(input("입력하세요: "))

a =  75

if a>50:
    if a<100:
        print("50보다 크고 100보다 작군요.")
    else:
        print("와~~ 100보다 크군요.")
else:
    print("에고~ 50보다 작군요.")

 

Code05-07.py

a = int(input("입력하세요: "))

if a>=90:
   print("A")
else:
    if a>=80:
        print("B")
    else:
         if a>=70:
            print("C")
         else:
            if a>=60:
                print("D")
            else:
                print("F")
print("학점입니다. ^^")

 

Code05-08.py

score = int(input("점수를 입력하세요 : "))

if score >=90 :
    print("A")
elif score >=80 :
    print("B")
elif score >=70 :
    print("C")
elif score >=60 :
    print("D")
else :
    print("F")

print("학점입니다. ^^")

 

Code05-09.py

import turtle
##전역 변수 선언 부분 ##
swidth, sheight = 500, 500
##메인 코드 부분##
turtle.title = ('무지개색 원그리기')
turtle.shape('turtle')
turtle.setup(width=swidth + 50, height=sheight +50)
turtle.screensize(swidth, sheight)
turtle.penup()
turtle.goto(0, - sheight/2)
turtle.pendown()
turtle.speed(10)

for radius in range(1, 250):
    if radius % 6 ==0 :
        turtle.pencolor('red')
    elif radius % 5 ==0 :
        turtle.pencolor('orange')
    elif radius % 4 ==0 :
        turtle.pencolor('yellow')
    elif radius % 3 ==0 :
        turtle.pencolor('green')
    elif radius % 2 ==0 :
        turtle.pencolor('blue')
    elif radius % 1 ==0 :
        turtle.pencolor('navyblue')
    else :
        turtle.pencolor('purple')
    
    turtle.circle(radius)

turtle.done

 

Code05-10.py

import random

numbers = []
for num in range(0, 10) :
    numbers.append(random.randrange(0, 10))

print("생성된 리스트", numbers)

for num in range(0,10) :
    if num not in numbers:
        print("숫자 %d는(은) 리스트에 없네요." %num)

 

Code05-11.py

##변수 선언 부분 ##
select, answer, numStr, num1, num2 = 0,0, "", 0, 0

##메인 코드 부분 ##
select = int(input("1. 입력한 수식 계산 2. 두수 사이의 합계 :"))

if select == 1:
    numStr = input(" *** 수식을 입력하세요 : ")
    answer = eval(numStr)
    print(" $s 결과는 %5.1f입니다. " %(numStr, answer))
elif select == 2:
    num1 = int(input(" *** 첫 번째 숫자를 입력하세요 : "))
    num2 = int(input(" *** 두 번째 숫자를 입력하세요 : "))
    for i in range(num1, num2 + 1):
        answer= answer + i
    print("%d+...+%d는 %d입니다. " %(num1,num2, answer))
else :
    print("1 또는 2만 입력해야 합니다.")

 

selfstudy5-1.py

score = int(input("점수를 입력하세요 : "))

if score >=95 :
    print("A+")
elif score >=90 :
    print("A0")
elif score >=85 :
    print("B+")
elif score >=80 :
    print("B")
elif score >=75 :
    print("C+")
elif score >=70 :
    print("C0")
elif score >=65 :
    print("D0")
elif score >=60 :
    print("D0")
else :
    print("F")

print("학점입니다. ^^")

 

selfstudy5-2.py

## 변수 선언 부분 ##
select, answer, numStr, num1, num2, step = 0, 0, "", 0, 0, 1


num1 = int(input(" *** 첫 번째 숫자를 입력하세요 : "))
num2 = int(input(" *** 두 번째 숫자를 입력하세요 : "))
step = int(input(" *** 증가할 값을 입력하세요 : "))

for i in range(num1, num2 + 1, step):
    answer += i
    
print("%d + %d+...+%d는 %d입니다." % (num1, num1 + step, num2,answer))

 

selfstudy5-3.py

## 변수 선언 부분 ##
num = 0  
a = True 

## 메인 코드 부분 ##
num = int(input("숫자를 입력하세요: "))

# 소수는 2 이상
if num < 2:
    a = False
else:
    # 2부터 자기 자신 - 1까지 나누어 떨어지는지 체크
    for i in range(2, num):
        if num % i == 0:  # 나누어 떨어진다면 소수가 아님
            a = False
            break

# 결과 출력
if a:
    print("%d는 소수입니다." % num) 
else:
    print("%d는 소수가 아닙니다." % num)

'Language > Python' 카테고리의 다른 글

리스트, 튜플, 딕셔너리  (0) 2024.10.24
반복문  (0) 2024.10.24
연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21
미리 만드는 쓸 만한 프로그램  (0) 2024.10.18

Code-04-01.py

#산술연산자
# a=5
# b=3
# print(a+b, a-b, a*b, a/b, a//b, a%b, a**b)

# a,b,c=2,3,4
# print(a+b-c, a+b*c, a*b/c)

# s1 ,s2, s3 = "100", "100.123", "999999999999999999"
# print(int(s1)+1, float(s2)+1, int(s3)+1)

# a= 100
# b=100.123
# print(str(a) + "1",str(b) + "1")



# a=10
# a+=5
# print(a)
# a-=5
# print(a)
# a*=5
# print(a)
# a/=5
# print(a)
# a//=5
# print(a)
# a%=5
# print(a)
# a**=5
# print(a)


#변수 선언 부분
money , c500, c100, c50, c10 = 0,0,0,0,0

#메인코드부분
money = int(input("교환할 돈은 얼마?"))

c500 = money // 500
money %= 500

c100 = money // 100
money %= 100

c50 = money // 50
money %= 50

c10 = money // 10
money %=10

print("\n 500원짜리 => %d개" % c500)
print(" 100원짜리 => %d개" % c100)
print(" 50원짜리 => %d개" % c50)
print(" 10원짜리 => %d개" % c10)
print(" 바꾸지 못한 잔돈 => %d원\n" % money)

Code-04-02.py

#논리 연산자
#and or not

import turtle
import random

##전역 변수 선언 부분
swidth, sheight, pSize, exitCount = 300,300,3,0
r, g, b, angle, dist, curX, curY =[0]*7

#메인 코드 부분
turtle.title("거북이가 맘대로 다니기")
turtle.shape("turtle")
turtle.pensize(pSize)
turtle.setup(width = swidth + 30, height = sheight +30)
turtle.screensize(swidth,sheight)

while True :
    r = random.random()
    g = random.random()
    b = random.random()
    turtle.pencolor((r,g,b))

    angle = random.randrange(0,360)
    dist = random.randrange(1,100)
    turtle.left(angle)
    turtle.forward(dist)
    curX=turtle.xcor()
    curY=turtle.ycor()

    if(-swidth/2 <= curX and curX <= swidth/2) and (-sheight/2 <= curY and curY <=sheight/2) :
        pass
    else :
        turtle.penup()
        turtle.goto(0,0)
        turtle.pendown()

        exitCount +=1
        if exitCount >=5 :
            break

turtle.done

Code-04-03.py

a = ord("A")
mask = 0x0F

print("%x & %x = %x" %(a, mask, a&mask))
print("%x | %x = %x" %(a, mask, a|mask)) #교과서 수정 필요

mask = ord("a") - ord("A")

b = a^mask
print("%c^%d = %c" %(a, mask,b))
a=b^mask
print("%c ^ %d = %c" %(b, mask,a))

Code-04-04.py

a =100
result = 0
i =0

for i in range(1,5):
    result = a<< i
    print("%d << %d = %d" % (a, i ,result))

for i in range(1,5):
    result = a>>i
    print("%d >> %d = %d" % (a, i ,result))

    #a는 그대로 100
    #result만 자릿수를 옮겨진다

 

practice04.py

a,b=100,200
print(a==b, a!=b, a>b, a<b, a>=b, a<=b)

a=99
print((a>100) and (a<200))
print((a>100) or (a<200))
print(not(a == 100))

if(1223454) : print("참이면 보여요") #0과 공백 빼고는 다 참이다
if(0) : print("거짓이면 안 보여요")

selfstudy4-1.py

#변수 선언 부분
money , c500, c100, c50, c10 = 0,0,0,0,0

#메인코드부분
money = int(input("지폐로 교환할 돈은 얼마?"))

c500 = money // 50000
money %= 50000

c100 = money // 10000
money %= 10000

c50 = money // 5000
money %= 5000

c10 = money // 1000
money %=1000

print("\n 50000원짜리 => %d장" % c500)
print(" 10000원짜리 => %d장" % c100)
print(" 5000원짜리 => %d장" % c50)
print(" 1000원짜리 => %d장" % c10)
print(" 지폐로 바꾸지 못한 잔돈 => %d원\n" % money)

 

selfstudy4-2.py

a = int(input("시프트할 숫자는? "))
shift_count = int(input("출력할 횟수는? "))

for i in range(1, shift_count + 1):
    result = a << i
    print("%d << %d = %d" % (a, i, result))

for i in range(1, shift_count + 1):
    result = a >> i
    print("%d >> %d = %d" % (a, i, result))

 

추가

4.연산자
대입연산(=가 뒤쪽으로)
+=
/= 

관계연산(true false)
==
!= 

논리연산(true false)
and
or
not
숫자 0는 false
아무 숫자는 true 

비트연산자
&(and)
|(shift + \누르면 된다->or)
^(xor)
~(1->0/ 0->1)
<<(비트를 시프트)
>> 

a = 12345
~a + 1
a= -12345
~는 반전된 값인 1의 보수로 만들어주고 거기에 +1을 해주면 2의 보수가 되어 음수값을 얻게 된다 

<<시프트는 <<1이면 오른쪽 한칸 이동시켜줘서 숫자가 2배 커진다
>>로 하면 시프트는 정수만 연산하므로 2로 나눠지는데 몫만 남게 된다 

연산자 우선순위
괄->지수->단항 연산자->산술->비트->관계->동등->대입->논리->비교(if) 

'Language > Python' 카테고리의 다른 글

반복문  (0) 2024.10.24
조건문  (0) 2024.10.24
변수와 데이터형  (0) 2024.10.21
미리 만드는 쓸 만한 프로그램  (0) 2024.10.18
파이썬-함수  (1) 2024.03.15

Code03-01.py

#cpu와 가까이 있는 메모리- 저장장치에서 가장 빠르다
#변수를 사용하면 메모리에 저장된다

#문자 "1" vs 숫자 1

# %d 10진수 정수
# print("100")
# print("%d" %100)
# print("100+100")
# print("%d" %(100+100))
# print("%d" %(100, 200))
# print("%d %d" %(100))
# %5d 다섯자리를 사용할 거다
# %0.5d 00123- 다섯자리 확보에 빈칸 영

# %f 실수
#print("%7.1f" %123.45)   123.5

print("%d" % 123) #숫자 그대로
print("%5d" % 123) #5칸 사용하고 오른쪽부터 입력
print("%0.5d" % 123) #5칸 사용하는데 오른쪽부터 입력 후 나머지는 0으로 채우기

print("%f" % 123.45) #소수점 아래 6자리까지 무조건 출력한다
print("%7.1f" % 123.45) #7자리 숫자 소수1까지(.도 한칸 차지한다)
print("%7.3f" % 123.45) #7자리 숫자 소수 3까지

print("%s" % "Python")
print("%10s" % "Python")


#결과값
# 123
#   123
# 00123

# 123.450000
#   123.5
# 123.450

# Python
#     Python

print("%d %5d %05d" % (123, 123, 123))
print("{0:d} {0:5d} {2:05d}".format(123,123,123)) #{순서: 형식}
#\n은 줄 넘기기

 

 

Code03-02.py

print("\n줄바꿈\n연습")
print("\t탭키\t연습")
print("글자가 \"강조\"되는 효과1")
print("글자가 \'강조\'되는 효과2")
print("\\\\\\ 역슬래시 세 개 출력")
print(r"\n\t\"\\를 그대로 출력") #print(r"")은 이스케이프 그대로 출력



#변수 = 그릇
#변수 가장 많이 사용하는 4가지 불/정수/실수/문자열
boolVar = True
intVar = 0
floatVar = 0.0
strVar = ""
print(type(boolVar), type(intVar), type(floatVar), type(strVar))
#<class 'bool'> <class 'int'> <class 'float'> <class 'str'>


var2 = 200
var1 = 100+ var2
print(var1)

print(bin(11), bin(0o11), bin(0x11))
print(oct(11), oct(0o11), oct(0x11))
print(hex(11), hex(0o11), hex(0x11))

# 0b1011 0b1001 0b10001
# 0o13 0o11 0o21
# 0xb 0x9 0x11

print() 함수에서 사용할 수 있는 서식
%d %x %o(정수-10,16,8진수)
%f(실수)
%c(한 글자)
%s(두 글자 이상인 문자열) 

 

Code03-03.py

print("    *    ")
print("   ***   ")
print("  *****  ")
print(" ******* ")
print("*********")
print(" ******* ")
print("  *****  ")
print("   ***   ")
print("    *    ")

 

 

Code03-04

sel = int(input("입력 진수 결정(16/10/8/2) : "))
num = input("값 입력 : ")

if sel == 16 :
    num10 = int(num, 16)#int(num, 16진수)
if sel == 10 :
    num10 = int(num, 10)
if sel == 8 :
    num10 = int(num, 8)
if sel == 2 :
    num10 = int(num, 2)


print("16진수 ==> ", hex(num10))
print("10진수 ==> ", num10)
print("8진수 ==> ", oct(num10))
print("2진수 ==> ", bin(num10))

 

 

Code03-05.py

## 함수 선언 부분##
def myFunc():
    print('함수를 호출함.')

## 전역 변수 선언 부분 ##
gVar = 100

## 메인 코드 부분 ##
if __name__ == '__main__':
    print('메인 함수 부분이 실행됩니다.')
    myFunc()
    print('전역 변수 값:', gVar)

 

 

practice03.py

a = 123
print(type(a))

a = 100 ** 100
print(a)

a = 0xFF
b = 0o77
c = 0b1111
print(a, b, c)

a = 3.14
b = 3.14e5
print(a, b)

a =10
b=20
print(a+b, a-b, a*b, a/b)

a, b = 9, 2
print(a ** b, a % b, a//b)

a =True
print(type(a))

a = (100 == 100)
b= (10> 100)
print(a,b)

a = "파이썬 만세"
print(a)
print(type(a))

print("작은따옴표는 ' 모양이다")
print('큰따옴표는 " 모양이다')

a = "이건 큰따옴표 \" 모양"
b = '이건 작은따옴표 \' 모양'
print(a)
print(b)

a = '파이썬 \n 만세'
print(a)

a = """파이썬
만세"""
#파이썬 \n 만세 로 비주얼스튜디오는 출력이 안된다
print(a)

 

 

selfstudy3-1.py

print("*********")
print(" ******* ")
print("  *****  ")
print("   ***   ")
print("    *    ")
print("   ***   ")
print("  *****  ")
print(" ******* ")
print("*********")

 

 

selfstudy3-2.py

sel = int(input("입력 진수 결정(16/10/8/2) : "))

# sel이 16, 10, 8, 2 중 하나가 아닐 경우 처리
if sel != 16 and sel != 10 and sel != 8 and sel != 2:
    print("16, 10, 8, 2 숫자 중 하나만 입력하세요.")
    exit()  # 프로그램을 종료함

# sel이 16, 10, 8, 2 중 하나일 때만 값을 입력받고 변환
num = input("값 입력 : ")

if sel == 16:
    num10 = int(num, 16)
elif sel == 10:
    num10 = int(num, 10)
elif sel == 8:
    num10 = int(num, 8)
elif sel == 2:
    num10 = int(num, 2)

print("16진수 ==> ", hex(num10))
print("10진수 ==> ", num10)
print("8진수 ==> ", oct(num10))
print("2진수 ==> ", bin(num10))

 

추가

 

변수명 규칙
-대 소문자 구분
-문자, 숫자, 언더바(_)를 시작하거나 포함할 수 있다/ 그러나 숫자로 시작은 안된다
-예약어는 변수명으로 쓰면 안된다(ex return) 

파이썬에서 변수의 데이터 형식은 값을 넣는 순간마다 변경될 수 있는 유연한 구조이다. 

비트
진수 표 넣기


바이트(8비트)
비트수-바이트수-표현개수-2진수-10진수-16진수
8비트=1바이트=2^8(256)=0~11111111=0~255=0~ff 

숫자형은 정수형과 실수형
16진수-0x
8진수-0o
2진수-0b
e15=10^5
**제곱
%나머지
//소수점을 버리는 

문자열은 양쪾에 "" or ''을 사용해줘야 하고
" ' " or ' " '을 사용하면 ' "이 출력된다
또는 "₩'" or "₩""을 사용하면 출력이 된다
""" """을 사용해도 나온다

'Language > Python' 카테고리의 다른 글

조건문  (0) 2024.10.24
연산자  (2) 2024.10.24
미리 만드는 쓸 만한 프로그램  (0) 2024.10.18
파이썬-함수  (1) 2024.03.15
파이썬-제어문  (2) 2024.03.15


-대화형
-한줄 한줄 바로 실행 

idle-저장가능 

변수는 메모리에 저장이 된다. 그러나 메모리에 저장된 것은 idle을 종료하면 모두 사라진다 

 

 

code02-01.py

a = 100
b =50
result = a + b
print(a,"+", b, "=", result)
result = a - b
print(a,"-", b, "=", result)
result = a * b
print(a,"*", b, "=", result)
result = a / b
print(a,"/", b, "=", result)

첫 줄이 100+50은 150이 아닌 10050으로 나온다
<-input()함수는 값을 입력받지만 모두 문자열로 취급하기 때문이

 

code02-02.py

a = input()
b = input()
result = a + b
print(a,"+", b, "=", result)
result = a - b
print(a,"-", b, "=", result)
result = a * b
print(a,"*", b, "=", result)
result = a / b
print(a,"/", b, "=", result)

# input("") -> ""에 문자를 넣어주면 print하고 input 받을 준비를 한다.
# input은 문자열로 받기 때문에 int를 넣어줘야 한다

 

 

code02-03.py

a = int(input())
b = int(input())

이를 해결하기 위해서는 int(input())을 하여
1단계로 input에 100을 입력 받고
2단계로 100을 숫자로 변경하여 a에 대입한다 

 

code02-04.py

a = int(input("첫 번째 숫자를 입력하세요 : ")) #a에 input(키보드의 입력값)의 값을 집어 넣는다.
b = int(input("두 번째 숫자를 입력하세요 : ")) #int가 input의 문자열을 숫자로 바꿔준다(ex. 1+2=12 -> 1+2=3)
result = a + b
print(a,"+", b, "=", result)
result = a - b
print(a,"-", b, "=", result)
result = a * b
print(a,"*", b, "=", result)
result = a / b
print(a,"/", b, "=", result)

input("adfa")에 들어간 ""말은 먼저 출력이 되고 input에 들어갈 입력값이 기다려진다

 

code02-05.py

import turtle

turtle.shape('turtle')

turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)

turtle.done()

 

 

code02-06.py

import turtle

#함수 선언 부분

#변수 선언 부분
myT = None

#메인 코드 부분
myT = turtle.Turtle()
myT.shape('turtle')

for i in range(0,8) : #0이상 8미만 0<= i <8
    myT.forward(200)
    myT.right(45)

turtle.done()

 

 

code02-07.py

import turtle
import random

#함수 선언 부분
def screenLeftClick(x, y):
    global r, g, b
    turtle.pencolor((r,g,b))
    turtle.pendown()
    turtle.goto(x, y)

def screenRightClick(x, y):
    turtle.penup()
    turtle.goto(x, y)

def screenMidClick(x, y):
    global r, g, b
    tSize = random.randrange(1, 10)
    turtle.shapesize(tSize)
    r = random.random()
    g = random.random()
    b = random.random()


#변수 선언 부분
pSize = 10
r, g, b = 0.0, 0.0, 0.0

#메인 코드 부분
turtle.title('거북이로 그림 그리기')
turtle.shape('turtle')
turtle.pensize(pSize)

turtle.onscreenclick(screenLeftClick, 1) #윈두오 창을 마우스로 클릭하면 함수명 함수가 작동한다. 1은 마우스 왼쪽 2는 가운데 3은 오른쪽을 지정한다
turtle.onscreenclick(screenMidClick, 2)
turtle.onscreenclick(screenRightClick, 3)

turtle.done()

 

 

selfstudy2-1.py

import turtle
import random

# 함수 선언 부분
def screenLeftClick(x, y):
    global r, g, b
    turtle.pencolor((r, g, b))
    turtle.pendown()
    turtle.goto(x, y)

    #midclick을 합쳐준다.
    tSize = random.randrange(1, 10)  
    turtle.shapesize(tSize)
    r = random.random()
    g = random.random()
    b = random.random()
   
   

def screenRightClick(x, y):
    turtle.penup()
    turtle.goto(x, y)

# 변수 선언 부분
pSize = 10
r, g, b = 0.0, 0.0, 0.0

# 메인 코드 부분
turtle.title('거북이로 그림 그리기')
turtle.shape('turtle')
turtle.pensize(pSize)

# 왼쪽 버튼과 가운데 버튼 기능 통합-> eft+mid -> left
turtle.onscreenclick(screenLeftClick, 1)  
turtle.onscreenclick(screenRightClick, 3)

turtle.done()

 

*추가

data = "안녕" + \
		"하세요?" +\
        "파이썬"
print(data)

#안녕하세요?파이썬

맨뒤에 /를 붙이면 다음과 같이 줄을 바꾸어 써도 한줄로 인식한다. 

함수 선언부분
-함수를 미리 만들어 필요할 때 사용하면 된다 

def 함수명(매개변수):
    global 사용할 전역 변수 

변수 선언부분
-사용될 전역 변수를 미리 선언해 놓는 곳이다
int a,b
a =0
b=0 

*보통 언어에서 변수를 사용하려면 선언부터 해야 하는데 자바스크립트나 파이썬 등 인터프리터 언어에서는 변수를 선언하지 않고도 사용해도 된다
*파이썬은 변수 선언이 필요하지는 않지만 ,가급적 변수에 초깃 값을 미리 대입시켜 놓는 게 바람직하다

'Language > Python' 카테고리의 다른 글

연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21
파이썬-함수  (1) 2024.03.15
파이썬-제어문  (2) 2024.03.15
파이썬-자료형  (2) 2024.03.15

*함수
반복되는 코드를 사용할 때가 있는데. 이를 좀 더 효율적으로 만들기 위해 사용된다.

def 함수_이름(매개변수):
    수행할_문장
    ...
    return 리턴값

*키워드 매개변수,kwargs
>>> print_kwargs(a=1)
{'a': 1}
>>> print_kwargs(name='foo', age=3)
{'age': 3, 'name': 'foo'}

*lambda
lambda는 함수를 생성할 때 사용하는 예약어로 def와 동일한 역할을 한다. 보통 함수를 간결하게 만들 때 사용된다.

lambda 매개변수1, 매개변수2.... : 매개변수를 이용한 표현식

add = lambda a,b : a + b
result = add(3, 4)
print(result)

*input()
사용자 입력 값

*print()
출력 값

'Language > Python' 카테고리의 다른 글

연산자  (2) 2024.10.24
변수와 데이터형  (0) 2024.10.21
미리 만드는 쓸 만한 프로그램  (0) 2024.10.18
파이썬-제어문  (2) 2024.03.15
파이썬-자료형  (2) 2024.03.15

+ Recent posts