-
[두근두근 파이썬 10장] 실습 9주차학교 수업/1-1, 1-2 코딩 기초 (파이썬, C) 2020. 5. 18. 09:34반응형
컴퓨팅적 사고와 문제 해결 5월 12일 실습과제(두근두근 파이썬 10장 연습문제)
연습문제 1
from tkinter import * window = Tk() #tkinter를 실행함 l = Label(window, text="간단한 GUI 프로그램!") #텍스트를 만들어줌 l.pack()#최소 크기로 화면에 표시함 b1 = Button(window, text="환영합니다.")#환영합니다가 적힌 버튼을 만들어줌 b2 = Button(window, text="종료")#종료가 적힌 버튼을 만들어줌 b1.pack()#최소 크기로 화면에 표시함 b2.pack()#최소 크기로 화면에 표시함 window.mainloop()
연습문제 2
def plus(): global total total += int(e.get()) #e에 적은 숫자를 얻어서 int형으로 바꿔주고 total에 더해줌 display()#바뀐 결과를 화면에 표시해줌 def minus(): global total total -= int(e.get())#e에 적은 숫자를 얻어서 int형으로 바꿔주고 total에 빼줌 display()#바뀐 결과를 화면에 표시해줌 def reset(): global total total = 100 display() def display(): global l2 l2.destroy() #l2를 삭제함 l2 = Label(window,text=total)#l2를 새로 만듦 l2.grid(row=0,column=1) #새로 만든 l2를 원래 있던 l2의 위치인 0행 1열에 배치함 from tkinter import * total = 100 window = Tk() l1 = Label(window, text="현재 합계: ") l2 = Label(window, text=total) l1.grid(row=0,column=0) #0행 0열에 배치해줌 l2.grid(row=0, column=1) e = Entry(window) #입력창을 만들어줌 e.grid(row=1,column=0, columnspan=3) #1행 0열에 위치하고 열위치를 조정함 b1 = Button(window, text="더하기(+)", command=plus) #버튼을 누르면 plus함수를 실행 b2 = Button(window, text="빼기(-)", command=minus) #버튼을 누르면 minus함수를 실행 b3 = Button(window, text="초기화", command=reset) #버튼을 누르면 total을 100으로 만들어줌 b1.grid(row=2, column=0) b2.grid(row=2, column=1) b3.grid(row=2, column=2) window.mainloop()
연습문제 4
def convert(): inch_val = int(e.get()) #e에 입력한 문자를 int형으로 바꿔주고 inch_val에 저장함 cm_val = inch_val * 2.54 #inch를 cm로 바꿔 줌 l4.configure(text = str(cm_val)+" 센티미터") #l4의 텍스트를 교체함 from tkinter import * window = Tk() l1 = Label(window, text = "인치를 센티미터로 변환하는 프로그램: ") l1.grid(row=0, column=0,columnspan=2) #columnspan을 이용해 열을 2개 차지하게 만들어줌 l2 = Label(window, text = "인치를 입력하시오:") e = Entry() #입력칸을 만들어서 인치를 입력하게 만들어 줌 l2.grid(row=1, column=0) e.grid(row=1, column=1) l3 = Label(window, text = "변환결과:") l4 = Label(window, text = "0 센티미터") l3.grid(row=2, column=0) l4.grid(row=2, column=1) b = Button(window, text="변환!", command=convert) #이 버튼을 누르면 convert함수가 실행 b.grid(row=3, column=1) window.mainloop()
연습문제 6
from tkinter import * import random def change_image(x): y = random.randint(1,3) change1(x) #change1 함수를 통해 사용자가 선택한 것으로 사진을 바꿔 줌 change2(y) #change2 함수를 통해 랜덤으로 돌린 숫자로 사진을 바꿔 줌 game(x,y) #결과값을 보여주는 함수 def change1(x): #사용자 사진 교체 photo1 = PhotoImage(file=A[x]) label1.configure(image=photo1) label1.image = photo1 def change2(x): #컴퓨터 사진 교체 photo2 = PhotoImage(file=A[x]) label3.configure(image=photo2) label3.image = photo2 def game(x,y): def win(): #사용자가 가위바위보를 이겼을 경우 label2.configure(text=">>>>>") label4.configure(text="사용자 승!") def lose(): #사용자가 졌을 경우 label2.configure(text="<<<<<") label4.configure(text="사용자 패배!") def draw(): #비겼을 경우 label2.configure(text="=====") label4.configure(text="비겼습니다!") if x==1: #사용자가 주먹을 냈을 때 if y==1:draw() elif y==2:lose() else:win() elif x==2: #사용자가 가위를 냈을 때 if y==1:win() elif y==2:draw() else:lose() else: #사용자가 보를 냈을 때 if y==1:lose() elif y==2:win() else:draw() window = Tk() font1 = ("굴림체",30,"bold") #폰트 설정 font2 = ("굴림체",20,"bold") #폰트 설정 A = {1:"C:/Users/정다빈/Desktop/1.gif",2:"C:/Users/정다빈/Desktop/2.gif",3:"C:/Users/정다빈/Desktop/3.gif"} #딕셔너리를 이용해 파일 경로를 저장해서 불러오기 편하게 해줌 photo1 = PhotoImage(file=A[3]) #파일 경로를 설정하여 사진을 불러옴 photo2 = PhotoImage(file=A[3]) #파일 경로를 설정하여 사진을 불러옴 label1 = Label(window, image=photo1) label2 = Label(window, text = "=====",font=font1) label3 = Label(window, image=photo2) label1.grid(row=0, column=0) label2.grid(row=0, column=1, padx=50) label3.grid(row=0, column=2) label4 = Label(window, text = "무승부!",font=font2,fg="green") label4.grid(row=1, column=1) button1 = Button(window,text="바위",command=lambda: change_image(1)) #바위 버튼을 누르면 change_image함수에 1의 값을 넣어 실행함 button2 = Button(window,text="보",command=lambda: change_image(2)) #보 버튼을 누르면 change_image함수에 2의 값을 넣어 실행함 button3 = Button(window,text="가위",command=lambda: change_image(3)) #가위 버튼을 누르면 change_image함수에 3의 값을 넣어 실행함 button1.grid(row=2,column=0,ipadx=50) button2.grid(row=2,column=1,ipadx=50) button3.grid(row=2,column=2,ipadx=50) window.mainloop()
연습문제 6에 사용한 가위바위보 사진
반응형'학교 수업 > 1-1, 1-2 코딩 기초 (파이썬, C)' 카테고리의 다른 글
[두근두근 파이썬 12장] 실습 11주차 (0) 2020.05.29 [두근두근 파이썬 11장] 실습 10주차 (0) 2020.05.21 [두근두근 파이썬 9장] 실습 8주차 (0) 2020.05.13 [두근두근 파이썬 7장] 실습 7주차 (0) 2020.05.03 [두근두근 파이썬 6장] 실습 6주차 (0) 2020.05.03