본문 바로가기

프로그램925

[파이썬] 문제 : 화율 정보를 딕셔너리로 해서 환율 계산하기 dic = {'미국':['USD',1318] # 정보 딕셔너리. 나라명의 key로 하고, 단위와 기준율을 리스트로 value 가 됨. , '유럽':['EUR',1418] , '중국':['CNY',184] , '일본':['JYP',9] , '호주':['AUD',867] ,'영국':['GBP',1654]} k_money = int(input('환전 금액(원)은 한국돈으로 10,000,000(1천만원)을 입력하세요: ')) country = input('국가(6개국 중 한글)로 환전하는 국가를 입력하세요: ') if country in dic.keys(): # 입력 받은 나라명이 있는지 확인. c_unit = dic[country][0] # 화폐단위가 인덱스 0 c_money = dic[country][1] .. 2023. 12. 12.
[파이썬] 문제 : 100개의 사각형 임의의 위치에 그리기 1.모듈 임포트(터틀,랜덤모듈 임포트) 2.정사각형 그리기 100번 반복(for문 사용) -x,y좌표 생성 -정사각형 한변의 길이는 10이상 100이하 -임의의 면 색 결정 -그릴 위치로 이동하기 -색 채우기 시작 -정사각형 그리기 -색 채우기 끝 4.커다란 테두리 그리기(3번에서 그린 정사각형들 싸고 있는 큰 테두리) -그릴 위치로 이동하기 -정사각형 그리기 import turtle import random height = 600 width = 600 turtle.setup(height, width) # 화면 크기 turtle.colormode(255) # RGB 컬러를 사용하기 위한 모드 지정 t=turtle.Turtle() # 터틀 t.hideturtle() # 터틀 숨기기 t.speed(0) # .. 2023. 12. 11.
[파이썬] 문제 : 1부터 20가지 출력 while 코딩 분석 프로그램(코딩)은 목적이 중요합니다. 여기서는 숫자 1부터 20까지 한 줄로 출력하는 것이 목적이죠. 이 목적을 달성하는 여러 방법이 있는데, 여기서는 while 반복문을 사용한 것입니다. 그냥 다음과 같이 print(1,end=' ') print(2,end=' ') ... print(20,end=' ') 과 같이 할 수 있습니다. 그런데, 여기서 print()문이 반복되는 것을 볼 수 있습니다. 바뀌는 것은 숫자만 입니다. 이렇게 바뀌는 것과 바뀌지 않는 것을 구분하는 것이 중요합니다. 바뀌는 것(반복 되는)은 코드의 반복문( for, while 등)을 사용할 수 있는 거죠. 그럼 1부터니까 j = 1 텍스트 추가 로 해서 시작값을 지정해 줍니다. 이제 반복문을 사용하는데 반복문은 반복의 시작과 끝을 .. 2023. 12. 11.
[파이썬] 문제 : 재고품 관리(믹스,종이컵) 딕셔너리 처리 product = {'믹스':[6000, 2], '종이컵':[15000, 3], '커피스틱':[3000, 1]} # 1) 품목 Key, 가격과 현재개수를 value total_money = 0 # 2)총 비용 변수 for key, value in product.items(): # 3) 반복문 if value[1] >= 3: # 4) 재고가 3개 이상일때 continue continue # 3) 잔여개수가 3개보다 적을때 (위 if 문에서 3 이상일때 continue 했기때문에 이 코드부터는 3개보타 적을때가 됨) cnt = 3 - value[1] # 2)사야할 비품의 개수 변수. 3개에서 몇 개 부족한지 계산 money = value[0] * cnt # 부족한 개수 * 가격으로 궁비 비용 계산 total.. 2023. 12. 10.
[파이썬] 문제 : tkinter 마일->킬로미터 변환 import tkinter as tk def convert_miles_to_km(): miles = float(miles_entry.get()) km = miles * 1.60934 km_var.set(f"{km:.2f} km") window = tk.Tk() window.title("마일 -> 킬로미터 변환") window.geometry("300x150") miles_label = tk.Label(window, text="마일:") miles_label.place(x=50, y=30) miles_entry = tk.Entry(window, width=12) miles_entry.place(x=150, y=35) km_label = tk.Label(window, text="킬로미터:") km_label.. 2023. 12. 10.
[파이썬] 문제 : 이중 for문의 실행 횟수 list = [] for i in range(0,3): for j in range(0, i): list.append("*") print(list) 다음과 같이 진행상태를 보기 위해서 출력(print)를 추가해 보면 i,j 값에 따라 어떻게 for문이 실행되어 리스트에 *이 추가되는지 확인 할 수 있습니다. list = [] for i in range(0,3): # i는 0,1,2 값이 됩니다.range(start,end,step)인데 end-1까지 나옵니다. for j in range(0, i): # j는 i가 end가 됩니다. i=0일때는 동작하지 않고, 1일떄 1번, 2일때 2번 동작하게 됨 list.append("*") print('i=',i,'/j=',j,'/list=',list) # 진행 상태를.. 2023. 12. 10.
[파이썬] 문제 : 클래스(AddWorders)와 딕셔너리 def AddWorker(name, exp=0): workers[name] = exp workers = {} AddWorker("신입1") AddWorker("신입1",2) AddWorker("신입5",2) AddWorker("신입5") for i in workers.items(): print("[이름] %s / [경력] %d년"%(i[0], i[1])) 딕셔너리 관련 입니다. 다음과 같이 A key인 값이 처음에는 1 로 했지만 다음에 A key에 다시 2를 입력한 것이어서 이 시점에는 A key의 value는 2가 됩니다. dic = {} dic['A'] = 1 # 딕셔너리 A key = 값 (1) print(dic['A']) dic['A'] = 2 # 딕셔너리 A key = 값 (2) print(d.. 2023. 12. 10.
[파이썬] 문제 : 클래스(Box) 선언 및 __init__(), __str__() 사용 class Box(): # 만들 클래스 선언 def __init__(self, l, h, d): # 매직메소드 __init__ 선언. __init__()는 인스턴스 생성시 1번만 자동 실행 됨 self.length = l # 메소드의 인수인 l 값을 인스턴스 변수 self.length에 반영 self.height = h # 메소드의 인수인 h 값을 인스턴스 변수 self.height에 반영 self.depth = d # 메소드의 인수인 d 값을 인스턴스 변수 self.depth에 반영 def __str__(self): # 매직메소드 __str__() 선언. print(인스턴스) 할때 출력된 문자열을 선언 return f"({self.length}, {self.height}, {self.depth})" d.. 2023. 12. 10.
[파이썬] 문제 : 학생 점수 튜플과 리스트 만들고 합계,평균 계산 marks = [(1,"sky",94),(2,"blue",100),(3,"pink",85),(4,"red",90),(5,"green",80)] d_sum = 0 # 합계 변수 선언 및 초기화 for i in range(len(marks)): # marks의 요소수 만큼 반복 d_sum += marks[i][2] # [2]가 점수. 점수를 누적 d_avg = d_sum / len(marks) # 평균계산 print('합계:',d_sum) print('평균:',d_avg) 2023. 12. 10.
[파이썬] 문제 : 딕셔너리의 value를 정렬하기 scores = {'Korean':80, 'Math':90, 'English':80} for item in scores.items(): print(item) print() sorted_scores = dict(sorted(scores.items(), key=lambda item: item[1], reverse=True)) for item in sorted_scores.items(): print(item) 2023. 12. 8.
728x90
반응형