본문 바로가기

Python/☞82

[37]-A. 정렬 import random user = ["runner","blink","crown","superstar","avengers"] score = [0,0,0,0,0] for i in range(5): r_num = random.randint(10,100) score[i] = r_num # align for i in range(5):# score 리스트를 돌면서, max = score[i]# 최대값을 기억 max_idx = i# 최대값의 인덱스도 기억 for j in range(i,5):# ㄴ 비교하는 범위 if score[j] > max:# ㄴ max값과 비교 max = score[j] max_idx = j temp = score[i]# 최대값 발견 시, 값 교체 score[i] = max score[max.. 2020. 7. 23.
[37] 정렬 실습예제 : 리스트 → 정렬 . 워밍업 # 다음 리스트의 값을 내림차순으로 정렬하세요. scores = [68, 70, 95, 50, 42] 더보기 for i in range(5): max = scores[i] max_idx = i for j in range(i,5): if max < scores[j]: max = scores[j] max_idx = j temp = scores[i] scores[i] = max scores[max_idx] = temp for i in range(5): print(scores[i], end=" ") 랜덤 스코어 랭킹 . 랜덤으로 10~100까지 범위의 5개의 수를 score리스트에 저장하고 . 내림차순으로 랭킹을 출력한다.(1위 id 00점) user = ["runner".. 2020. 7. 23.
[36]-A. TIC TAC TOE map = [0,0,0,0,0,0,0,0,0] # RUN run = True while run : # 초기화 print("New Game!") for i in range(9): map[i] = i+1 p1 = 0 p2 = 0 win = 0 turn = 0 while True : print("--TIC TAC TOE--") for i in range(9): if map[i] == 11: print("[ ■ ]", end="") elif map[i] == 22: print("[ □ ]", end="") else: print("[ %d ]" % map[i], end="") if i % 3 == 2: print() print("---------------") # result if win == 11: print(.. 2020. 7. 23.
[36] TIC TAC TOE 실습예제 : 1차원 배열 → TIC TAC TOE . 워밍업 # 워밍업 # . map 리스트를 3x3 바둑판 모양으로 출력해보자 # . index의 증가하는 규칙을 응용하여 줄바꿈 # . 출력예) # 1 2 3 # 4 5 6 # 7 8 9 map = [1,2,3,4,5,6,7,8,9] 더보기 map = [1,2,3,4,5,6,7,8,9] for i in range(9): print(map[i], end=" ") # default 줄바꿈 해제 if i % 3 == 2: # 줄바꿈 조건 설정 print() . 플레이어 2명이 번갈아가며 인덱스 입력 [0~8] . 이미 차지한 인덱스는 입력불가 (alert) . P1 과 P2의 표식을 다르게 출력 (O,X) . 먼저 1줄 완성한 플레이어가 승리! ㄴ 가로 / .. 2020. 7. 23.
[35] 연습문제 : 리스트 연습문제 1) # 리스트 기본문제 nums = [10, 20, 30, 40, 50] print(nums[0]) print(nums[1]) print(nums[2]) # print(nums[5]) [5]는 없는방번호라 에러가난다. 0부터 시작하기때문에 # 예) 전체 값 출력 i = 0 while i 2020. 7. 23.
[34] 튜플 튜플 Tuple 1) 선언 a = ( ) a = (10, 20, 30, 40) 2) 사용 print(a[3]) 3) 특징 . 여러 종류의 값을 저장할 수 있다. . 불변 시퀀스 (리스트와의 차이점) # 리스트와의 차이점 a = ["apple", 'a', 20, 3.14, True] b = ("blue", 'b', 10, 3.14, False) print("튜플 출력") for i in range(5): print(b[i]) print("리스트 출력") for i in range(5): print(a[i]) # 예시 a[2] = 100 print(a[2]) b[2] = 200# error print(b[2]) # 리스트 : mutable 변화할 수 있다. (가변) # 튜플 : immutable 변화할 수 .. 2020. 7. 23.
[33] 리스트 리스트 List : 변수들의 집합 1) 선언 a = [ ] 빈 리스트의 주소를 a가 저장하고 있다. a = [10, 20, 30, 40] 2) 사용 리스트 변수들은 0번부터 1씩 증가하면서 번호가 생성된다.(index) a[0] => 10 a[1] => 20 a[2] => 30 a[3] => 40 3) 특징 . 크기의 제한이 없다. (가변 시퀀스) . 여러 종류의 값을 저장할 수 있다. . 0부터 시작되는 방번호(index)가 순차적으로 생성된다. 2020. 7. 23.
[32]-A. 카카오 택시 import random # 목적지(destination) des_x = random.randint(-10, 10) des_y = random.randint(-10, 10) # 현재 위치 x = 0 y = 0 # 방향(direction) direc = 0 # 속도 speed = 0 # 요금 fee = 0 # 이동 칸 수 count = 0 run = True while run: print("--- T A X I ---") print("목적지 :", des_x, des_y) print("현위치 :", x, y) print("방 향 :", direc) print("속 도 :", speed) print("1.방향설정") print("2.속도설정") print("3.이동하기") choice = int(input(.. 2020. 7. 21.
[32] 카카오 택시 실습예제 → 카카오택시 1. 손님을 태워 목적지까지 이동하는 게임이다. 2. -10~10 사이의 랜덤 숫자 2개를 저장해 목적지로 설정한다. 3. 메뉴는 아래와 같다. 1) 속도설정 : 1~3까지만 가능 2) 방향설정 : 1)동 2)서 3)남 4)북 3) 이동하기 : 설정된 방향으로 설정된 속도만큼 이동 4. 거리 2칸 당 50원씩 추가되어 요금도 출력한다. 예) 1(50) 2(50) 3(100) 4(100) ... import random # 목적지(destination) des_x = random.randint(-10, 10) des_y = random.randint(-10, 10) # 현재 위치 x = 0 y = 0 # 방향(direction) direc = 0 # 속도 speed = 0 # 요금 .. 2020. 7. 21.
[31]-A. 369 게임 # 369 게임 #1) 1~50을 차례대로 출력 #2) 숫자가 3 이나 6이나 9면 숫자대신 "짝" 출력 #3) 숫자가 3 이나 6이나 9가 2개면 "짝짝" 출력 ##.. ##28 ##29 ##짝 ##짝 ##짝 ##짝짝 ##.. gameNum = 1 while gameNum 2020. 7. 21.
[31] 369 게임 실습예제 → 369 게임 만들기 1) 1~50을 차례대로 출력 2) 숫자가 3 이나 6이나 9면 숫자대신 "짝" 출력 3) 숫자가 3 이나 6이나 9가 2개면 "짝짝" 출력 .. 28 29 짝 짝 짝 짝짝 .. 2020. 7. 21.
[30]-A. 베스킨라빈스 # 베스킨라빈스31 # 1. p1과 p2가 번갈아가면서 1~3을 입력한다. # 2. br은 p1과 p2의 입력값을 누적해서 저장한다. # 3. br이 31을 넘으면 게임은 종료된다. (넘긴쪽이 패배) # 4. 승리자를 출력한다. # # 예) # 1턴 : p1(2)br(2) # 2턴 : p2(1)br(3) # 3턴 : p1(3)br(6) p1 = 0 p2 = 0 br = 0 turn = 0 # 0: p1 / 1: p2 print("--- B E S K I N ---") while br = 1 and p1 = 1 and p2 30 : turn = (turn + 1) % 2 # turn을 반전시켜줌 break print("-------------------") print("BOMB!!!") if turn ==.. 2020. 7. 21.
[30] 베스킨라빈스 실습예제 → 베스킨라빈스 게임 만들기 1) p1 , p2 는 번갈아가면서 1~3을 입력한다. 2) br 는 p1 , p2 의 값을 누적 저장한다. 3) br 가 31을 넘어가면 게임종료 (넘긴쪽이 패배 : 승리자출력) 4) p1 ==> 2 , br ==> 2 5) p2 ==> 3 , br ==> 5 6) p1 ==> 1 , br ==> 6 .. br > 31 ==> 종료 2020. 7. 21.
[29]-A. 소수찾기 # 소수찾기 # 1) 1~100까지의 정수 중 소수를 찾아 # 2) 소수를 모두 출력하고, # 3) 소수의 개수를 출력 # while문 사용 cnt = 0 n = 1 while n 2020. 7. 21.
[29] 소수찾기 실습예제 → 소수찾기 1) 1~100까지의 정수 중 소수를 찾아 2) 소수를 모두 출력하고, 3) 소수의 개수를 출력 2020. 7. 21.
[28]-A. 연습문제 : 2차원 반복문 # 실습예제1) 2차원 반복문 # 삼각형 그리기 ## 1) ## * ## ** ## *** for i in range(3): for j in range(i+1): print("*", end="") print() print() ## 2) ## *** ## ** ## * for i in range(3): for j in range(3-i): print("*", end="") print() print() ## 3) ## *## ## **# ## *** for i in range(3): for j in range(i+1): print("*", end="") for k in range(2-i): print("#", end="") print() print() ## 4) ## @ ## @@ ## @@@ ## @@@@.. 2020. 7. 21.
[28] 연습문제 : 2차원 반복문 연습문제 : 2차원 반복문 → 삼각형 그리기 1) * ** *** 2) *** ** * 3) *## **# *** 4) @ @@ @@@ @@@@ @@@@@ 5) ***** *** * 2020. 7. 21.
[27] 2차원 반복문 2차원 반복문 . 반복문 안에 있는 또다른 반복문 # 예문 for i in range(3) : for j in range(3) : print("[i : %d, j : %d]" % (i, j)) # 구구단 출력 (2~9단) for i in range(2,10) : for j in range(1,10) : print("%d X %d = %d" % (i, j, i*j)) 2020. 7. 21.
[26] 분기문 분기문 1) continue . 반복문의 조건문(초기식)으로 바로 이동. 이하 실행문을 지나가지 않음 2) pass . 무시하고 넘어감 3) break . 가장 가까운 반복문을 벗어남 (종료) # break i = 1 while i 2020. 7. 21.
[25]-A. 바나프레소 키오스크 import random order = random.randint(1000,9999) price1 = 1500 price2 = 2500 price3 = 2500 price4 = 2500 price5 = 3000 price6 = 2800 price7 = 2600 price8 = 3500 price9 = 3500 cnt1 = 0 cnt2 = 0 cnt3 = 0 cnt4 = 0 cnt5 = 0 cnt6 = 0 cnt7 = 0 cnt8 = 0 cnt9 = 0 for i in range(5) : print("1. 아메리카노 \t1,500") print("2. 카푸치노 \t2,500") print("3. 카페라떼 \t2,500") print("4. 더치커피 \t2,500") print("5. 더치라떼 \t3,000.. 2020. 7. 20.
[25] 바나프레소 키오스크 실습예제 : 반복문 & 조건문 & 랜덤 → 바나프레소 키오스크 . 4자리 주문번호 랜덤 생성 . 메뉴주문을 5개 받음 . 주문 후, 보유현금을 입력받음 . 각 메뉴별 주문 수량과 총 금액을 출력한다. # 메뉴 # 1. 아메리카노 1,500 # 2. 카푸치노 2,500 # 3. 카페라떼 2,500 # 4. 더치커피 2,500 # 5. 더치라떼 3,000 # 6. 스페셜티아메리카노 2,800 # 7. 헤이즐넛아메리카노 2,600 # 8. 카페모카 3,500 # 9. 카라멜마끼아또 3,500 2020. 7. 20.
[24]-A. 연산자 맞추기 import random cnt = 0 for i in range(10) : x = random.randint(1, 10) y = random.randint(1, 10) op = random.randint(1, 5) z = 0 if op == 1: z = x + y elif op == 2: z = x - y elif op == 3: z = x * y elif op == 4: z = x / y elif op == 5 : z = x % y print(x, " ? ", y, " = ", z) print("1. 더하기") print("2. 빼기") print("3. 곱하기") print("4. 나누기") print("5. 나머지") my_answer = int(input("메뉴를 선택하세요 : ")) if my.. 2020. 7. 20.
[24] 연산자 맞추기 실습예제 : 반복문 & 조건문 & 랜덤 → 연산자 맞추기 1) 1~100 사이의 랜덤 숫자 2개 저장 2) 1~5 사이의 랜덤 숫자 1개 저장 (연산자 기호용) 3) 사용자는 연산자 기호를 맞추는 게임 예) 8 ? 4 = 32 ①+ ②- ③* ④/ ⑤% ③ 정답 * 10번 반복 후, 맞춘수 출력 2020. 7. 20.
[23]-A. 지하철 요금계산 while True : print("--- metro ---") station = int(input("이동할 정거장 수를 입력하세요. :")) fee = 0 if station >=1 and station 5 and station 10 : fee = 600 add = station - 10 # 초과된 정거장 수 # 검사 : add가 홀수인가? if add % 2 == 1 : add += 1 addfee = add // 2 * 50 fee += addfee print("요금은 %d 원 입니다." % fee) # 보유현금 입력 money = int(input("보유현금 입력 : ")) if money >= fee : print("잔액은 %d 원 입니다." % (money - fee)) print("안녕히가세.. 2020. 7. 20.
[23] 지하철 요금계산 실습예제 : 반복문 & 조건문 → 지하철 요금계산 1. 이용할 정거장 수를 입력받는다. 2. 다음과 같이 정거장 수에 따라 요금이 정산된다. 3. 요금표 # 1) 1~5 : 500원 # 2) 6~10 : 600원 # 3) 11,12 : 650원 # 4) 13,14 : 700원 # 5) 15,16 : 750원 # ... 2020. 7. 20.
[22] 반복문 : for for문의 구조 for 조건식 : 실행문 *조건식 : i in range() range() : 범위 설정 1) range(stop) 2) range(start, stop[, step]) # 0~5미만 for i in range(5) : print(i, end=" ") print() # 1~10미만까지 2씩증가 for i in range(1,10,2) : print(i, end=" ") print() 연습문제 # 문제 1) 5~9 출력 # 문제 2) 6~3 출력 # 문제 3) 1~5까지의 합 출력 # 문제 4) 1~10중 3미만 그리고 7이상의 수만 출력 # 문제 5) 1~10중 짝수만 출력 # 문제 6) 1~10중 짝수의 개수 출력 더보기 # 문제 1) 5~9 출력 # 정답 1) 5, 6, 7, 8, 9.. 2020. 7. 18.
[00] 지역변수 지역변수 (Local Variable) . 지역변수는 선언된 영역(scope) 안에서만 존재한다. . 지역을 벗어나면 소멸 (호출X) 2020. 7. 18.
[21]-A. ATM # 실습예제 # 2) ATM [2단계] # 0. ATM은 종료되지 않는다 (사용 후 로그아웃) # 1. 로그인 성공 시, 입금/출금/조회 메뉴가 출력된다. (아이디가 일치할 때만 비밀번호 입력) # 즉 입금/출금/조회는 로그인 후에만 사용이 가능하다. # 2. 로그인 시, 계좌번호와 비밀번호를 입력받아 처리한다. # 3. 입금 시, 보유현금은 증가한다. # 4. 출금 시, 보유현금은 감소한다. (- 수수료 1,000원, 잔액체크 후 유효성 검사) db_id = "apple" db_pw = "1234" my_id = "" my_pw = "" money = 30000 while True : print("----- Mega A T M -----") my_id = input("아이디 입력 : ") if my_i.. 2020. 7. 16.
[21] ATM 실습예제 → ATM 1) ATM은 종료되지 않는다 (이용 후 로그아웃) 2) 로그인 성공 시, 입금/출금/조회 메뉴가 출력된다. (아이디가 일치할 때만 비밀번호 입력) 즉 입금/출금/조회는 로그인 후에만 사용이 가능하다. 3) 로그인 시, 계좌번호와 비밀번호를 입력받아 처리한다. 4) 입금 시, 보유현금은 증가한다. 5) 출금 시, 보유현금은 감소한다. (- 수수료 1,000원, 잔액체크 후 유효성 검사) 2020. 7. 16.
[20]-A. 가위바위보 게임 # 실습예제 # 1) 가위바위보 게임 # . com 과 me 의 대결 # . 플레이어의 '가위' '바위' '보' 출력 # . 10판 게임을 하고, # . 결과값(com 과 me 의 이긴횟수, 비긴횟수)과 함께 # . 승리자 출력 import random com = 0 me = 0 win_com = 0 win_me = 0 even = 0 n = 0 while n < 10 : com = random.randint(1,3) print("----- G A M E -----") print("1) 가위\n2) 바위\n3) 보") print("가위바위보! : ") me = int(input()) if me == 1 : print("나는 가위 ★") elif me == 2 : print("나는 바위 ★") elif m.. 2020. 7. 16.