import random


def getNumber():

    return random.randrange(1, 46)


lotto = []

num = 0


print("==========로또 추첨==========");


while True :

        num = getNumber()

        

        if lotto.count(num) == 0:

            lotto.append(num)

            

        if len(lotto) >= 6:

            break

        

print("추첨 번호 => ", end = '')


lotto.sort()


for i in range(0, 6):

    print("%d " % lotto[i], end = '')

    

print("\n=============================");





==========로또 추첨==========

추첨 번호 => 3 18 23 25 26 36 

=============================


def calc(v1, v2, op):

    result= 0

    

    if op == '+':

        result = v1 + v2

    elif op == '-':

        result = v1 - v2

    elif op == '*':

        result = v1 * v2

    elif op == '/':

        result = v1 / v2

        

    return result

    

res = 0

var1, var2, oper = 0, 0, ""


oper = input("계산을 입력하세요(+, -, *, /) : ")

var1 = int(input("첫 번째 수 : "))

var2 = int(input("두 번째 수 : "))


res = calc(var1, var2, oper)


print("계산기 : %d %s %d = %d" % (var1, oper, var2, res))




콘솔 결과값


계산을 입력하세요(+, -, *, /) : /


첫 번째 수 : 50


두 번째 수 : 3

계산기 : 50 / 3 = 16


from tkinter import *

from tkinter.simpledialog import *


window=Tk()

window.geometry("400x100")


label1 = Label(window, text="입력된 값1 : ")

label2 = Label(window, text="입력된 값2 : ")

label3 = Label(window, text="합 : ")

label4 = Label(window, text="곱 : ")


label1.pack()

label2.pack()

label3.pack()

label4.pack()


value1 = askinteger("확대 배수", "주사위 숫자(10~15)을 입력하세요", minvalue=10, maxvalue=15)

value2 = askinteger("확대 배수", "주사위 숫자(10~20)을 입력하세요", minvalue=10, maxvalue=20)


label1.configure(text = str(value1))

label2.configure(text = str(value2))

label3.configure(text = str(value1+value2))

label4.configure(text = str(value1*value2))


mainMenu = Menu(window)

window.config(menu = mainMenu)


window.mainloop()

버튼 수평 정렬

from tkinter import*

window = Tk()


button1 = Button(window, text="버튼1")

button2 = Button(window, text="버튼2")

button3 = Button(window, text="버튼3")


button1.pack(side = LEFT)

button2.pack(side = LEFT)

button3.pack(side = LEFT)


window.mainloop()






버튼 수평 정렬(list와 for문 활용)


from tkinter import*

window = Tk()


btnList = [None] * 3


for i in range(0, 3):

    btnList[i] = Button(window, text = "버튼" + str(i+1))


for btn in btnList:

    btn.pack(side = RIGHT) 


# TOP, BOTTOM, LEFT도 가능


# btn.pack(side = RIGHT, fill = X) 

# 윈도창 폭에 버튼크기를 꽉 채운다 


# btn.pack(side = RIGHT, fill = X, padx=10, pady=10) 

# 위젯(여기에서는 버튼을 말함) 사이의 10픽셀씩 가로,세로 여백주기


# btn.pack(side = RIGHT, fill = X, ipadx=10, ipady=10) 

# 위젯 내부의 10픽셀씩 가로,세로 여백주기

    

window.mainloop()







사진 앨범 만들기


from tkinter import*

from time import*


fnameList = []

photoList = [None]*9

num = 0


def clickNext():

    global num

    num += 1

    if num > 8:

        num = 0

        

    photo = PhotoImage(file = "gif/" + fnameList[num])

    pLabel.configure(image = photo)

    pLabel.image = photo

    

def clickPrev():

    global num

    num -= 1

    if num < 0:

        num = 8

    photo = Photoimage(file = "gif/" + fnameList[num])

    pLabel.configure(image = photo)

    pLabel.image = photo

    


window = Tk()

window.geometry("700x500")

window.title("사진 앨범")


btnPrev = Button(window, text = "<<이전", command = clickPrev)

btnNext = Button(window, text = "다음>>", command = clickNext)


photo = PhotoImage(file = "gif/" + fnameList[0])

pLabel = Label(window, image = photo)


btnPrev.place(x=250, y=10)

btnNext.place(x=400, y=10)

pLabel.place(x=15, y=50)


window.mainloop()






d

윈도우 프로그램

기본 윈도창


from tkinter import* #기본 윈도 라이브러리


window = Tk() #베이스 윈도( Tk() )를 window 변수에 넣고


window.mainloop() #함수 실행








윈도창 제목, 사이즈


from tkinter import*


window = Tk()

window.title("연습") #창 제목

window.geometry("300x500") # 창 사이즈

window.resizable(width=FALSE, height=FALSE) #사이즈 변경 금지


window.mainloop()









폰트, 배경


from tkinter import*


window = Tk()


label1=Label(window, text="파이썬")

label2=Label(window, text="윈도우", font=(궁서체, 30), fg="blue")

label3=Label(window, text="연습", bg="magenta", width=20, height=10, anchor=SE)


#fg 글자색

#bg 배경색

#anchor위치


label1.pack() #화면에 표시

label2.pack()

label3.pack()


window.mainloop() 








이미지 넣기


from tkinter import*


window = Tk()


#C:\Users\(사용자이름)\.spyder-py3 

#작업디렉토리에 이미지 저장해야 함


photo=PhotoImage(file="lion.gif")

label1=Label(window, image=photo)


label1.pack()


window.mainloop()








이미지 2개 넣기


from tkinter import*


window = Tk()


photo=PhotoImage(file="lion.gif")

label1=Label(window, image=photo)


photo1=PhotoImage(file="lion1.gif")

label2=Label(window, image=photo1)


label1.pack(side=LEFT) #이미지 위치를 왼쪽으로 설정

label2.pack(side=RIGHT)


window.mainloop()








버튼


from tkinter import*


window = Tk()


button1=Button(window, text="파이썬 종료", fg="red", command=quit)

#command 옵션의 quit 명령


button1.pack()


window.mainloop()








이미지 버튼과 메시지 창


from tkinter import*

from tkinter import messagebox


def myFunc():

    messagebox.showinfo("라이언", "라이언라이언라이언")

    


window = Tk()


photo=PhotoImage(file="lion.gif")

button1=Button(window, image=photo, command=myFunc)


button1.pack()


window.mainloop()







체크버튼과 메시지 창


from tkinter import*

from tkinter import messagebox

window = Tk()


def myFunc():

    if chk.get() == 0:

        messagebox.showinfo("", "체크버튼 꺼짐")

        

    else:

        messagebox.showinfo("", "체크버튼 켜짐")

    

chk=IntVar()

cb1=Checkbutton(window, text="클릭클릭미", variable=chk, command=myFunc)


cb1.pack()


window.mainloop()







라디오 버튼


from tkinter import*

window = Tk()


def myFunc():

    if var.get() == 1:

        label1.configure(text="파이썬")

    elif var.get() == 2:

        label1.cofigure(text="C++")

    else:

        label1.configure(text="Java")

        

var = IntVar()


rb1 = Radiobutton(window, text="파이썬", variable=var, value=1, command=myFunc)

rb2 = Radiobutton(window, text="C++", variable=var, value=2, command=myFunc)

rb3 = Radiobutton(window, text="Java", variable=var, value=3, command=myFunc)


label1=Label(window, text="선택한 언어 : ", fg="red")


rb1.pack()

rb2.pack()

rb3.pack()

label1.pack()


window.mainloop()





1~10까지의 합 구하기(for 활용)


i, hap = 0, 0


for i in range(1, 11, 1): 

hap = hap + i


print("1~10 합: %d" % hap)




1~10까지의 합 구하기(while 활용)


i, hap = 0, 0


i = 1

while i < 11:

    hap = hap + i

    i = i + 1

    

    print("1~10의 합 : %d" % hap)




500~1000까지 홀수의 합 구하기


i, hap = 0, 0


for i in range(501, 1001, 2): 

hap = hap + i

    

print("500~1000 홀수의 합: %d" % hap)




1부터 사용자가 입력한 수까지의 합 구하기


i, hap = 0, 0

num = 0


num = int(input("값을 입력하세요 : "))


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

    hap = hap + i

    

print("1~%d의 합: %d" % (num, hap))



시작값과 끝값, 증가값까지 사용자 입력한 후, 합 구하기


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))




구구단 출력


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

    for k in range(1, 10, 1):

        print("%d x %d = %d" % (i, k, i*k))



원하는 구구단만 출력


i, dan = 0, 0


dan=int(input("단을 입력하세요 : "))


for i in range (1, 10, 1):

    print("%d X %d = %d" % (dan, i, dan*i))



구구단 가로 정렬


i, k, guguLine = 0, 0, ""



for i in range(2, 10):

         guguLine = guguLine + ("# %d단 #" % i)

                                

         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)



무한 루프 (무한 "kkkkkkkkkkkkk...." 쓰기)


while True:

    print("k", end="")





아나콘다 스파이더

Anaconda Spyder

메인함수, 전역변수 선언


##함수선언##

def myFunc():

    print('함수 호출')


##전역변수##

gVar = 100


##메인 코드## 

if __name__ == '__main__':

    print('메인 함수 부분 실행')

    myFunc()

    print('전역 변수 값 : ', gVar)

    

    

   

def main():

    print('메인 함수 부분 실행')

    myFunc()

    print('전역 변수 값 : ', gVar)

    

if __name__ == '__main__' :

    main()

아나콘다 스파이더

Anaconda Spyder

종합 계산기


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만 입력해야합니다")

아나콘다 스파이더

Anaconda Spyder 

거북이로 그림 그리기


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)

turtle.onscreenclick(screenMidClick, 2)

turtle.onscreenclick(screenRightClick, 3)


turtle.done()

+ Recent posts