Python basic
  • Python 기초 수업
  • Python 설치
  • Python의 기본
    • Python 시작하기
    • 변수(Variable)
    • 산술 연산자
    • 문자열(String) 출력
    • 문장(Statement)
  • 자료형
    • 정수형(Integer)
    • 실수형(Float)
    • 부울형(Bool)
    • 복소수형(Complex)
    • 문자열형(String)
  • 조건문
  • 자료구조
    • List
    • Set
    • 튜플(Tuple)
    • 딕셔너리(Dictionary)
  • 반복문
  • 문제 타임
  • 함수(Function)
    • 기본형 함수
    • 매개변수(Parameter)와 반환값(Return Value)
    • 가변매개변수 함수
    • 함수 설명 표시
    • 변수의 범위
  • 모듈(Module)
    • 모듈의 이용
    • __name__ 그리고 '__main__'
  • 예외처리(Exception Handling)
    • try, except, else, finally
  • 클래스(Class)
    • Class 심화
  • PyQt
    • PyQt 설치
    • PyQt Widget
      • QWidget
      • QLabel
      • QLineEdit
      • QTextEdit
      • QPushButton
      • QCheckBox
      • Application Make
        • Widget의 배치 #1
        • Widget의 배치 #2
        • 숫자 맞추기 게임
        • 야구게임
  • OPEN API(공공데이터 포탈)
    • 공공데이터 사용하기
  • 크롤링 (Crawling)
    • Crawling Library 설치
    • 날씨, 미세먼지 농도
  • SQLlite
    • DB의 작성
  • Dic 참고
  • 함수 참고 코드
  • Widget 배치 시작 코드
  • 야구게임
Powered by GitBook
On this page
  • #1 가위바위보 게임
  • #2 가위바위보 게임
  • #3 가위바위보 게임
  • #4 야구 게임
  • #5 식당 주문 프로그램
  • #6 수강생 리스트를 활용해서 서울시에 살고있는 사람을 구하세요.
  • #7 수강생 리스트에서 몇 가지의 취미가 있고, 같은 취미를 가진 사람끼리 골라내세요.
  • #8 수강생 리스트를 활용해서 키와 값을 입력받아 해당하는 사람을 구하세요.

문제 타임

다양한 문제를 풀어봅시다.

#1 가위바위보 게임

조건 : 1. 사용자 입력은 '가위', '바위', '보', '종료' 4가지만 존재합니다. 2. 입력 후 사용자의 입력 값, 컴퓨터의 값 결과 값 3가지를 출력합니다. ex) 가위바위보 : 가위 사용자 : 가위, 컴퓨터 : 보, 결과 사용자 승 (사용자 패)

참고 풀이

# -*- coding: UTF-8 -*-
#가위바위보 
import random
pc_value = random.randrange(1,4)
#1:가위 > 2:바위 > 3:보 > 1
user_value = input('1:가위, 2:바위, 3:보 숫자를 입력하세요 : ')
if(user_value.isnumeric()) :
    user_value = int(user_value)
    user_str = '가위'
    if(user_value == 2) :
        user_str = '바위'
    elif(user_value == 3) :
        user_str = '보'
    pc_str = '가위'
    if(pc_value == 2) :
        pc_str = '바위'
    elif(pc_value == 3) :
        pc_str = '보'
#1:가위 > 2:바위 > 3:보 > 4:가위 
    if(user_value == 3) :
        if(pc_value == 1) :
            pc_value = 4
    if(pc_value == 3) :
        if(user_value == 1) :
            user_value = 4
    if(pc_value < user_value) :
        print('사용자 승 ! 사용자 : ', user_str, ' 컴퓨터 :',pc_str)
    elif(pc_value == user_value):
        print('무승부 ! 사용자 : ', user_str, ' 컴퓨터 : ',pc_str)
    else :
        print('사용자 패배 ! 사용자 : ', user_str, ' 컴퓨터 : ',pc_str)
else :
    print('숫자로 입력해주세요!!')

#2 가위바위보 게임

조건 : 1. 사용자는 100%의 확률로 승리 합니다. 나머지는 동일합니다.

참고풀이

# -*- coding: UTF-8 -*-
value_str = ['보', '가위', '바위', '보']
user_value = int(input('1:가위, 2:바위, 3:보 숫자를 입력하세요 : '))
pc_value = user_value - 1
print("사용자 승 사용자 : ", value_str[user_value], " 컴퓨터 : ", value_str[pc_value] )

#3 가위바위보 게임

조건 : 1. 사용자는 10%의 확률로 승리 합니다. 나머지는 동일합니다.

참고 풀이

# -*- coding: UTF-8 -*-
import random
winner = [True, False, False, False, False, False, False, False, False, False]
random.shuffle(winner)
value_str = ['보', '가위', '바위', '보', '가위']
count = 0;
pc_value = 0
while True: 
    user_value = int(input('1:가위, 2:바위, 3:보 숫자를 입력하세요 : '))
    if(winner[count]) :
        #사용자 승리
        pc_value = user_value - 1
        print("사용자 승 사용자 : ", value_str[user_value], " 컴퓨터 : ", value_str[pc_value] )
    else:
        #PC 승리 
        win_draw = random.randrange(0,2)
        if(win_draw == 0) :
            #무승부
            pc_value = user_value
            print("무승부 사용자 : ", value_str[user_value], " 컴퓨터 : ", value_str[pc_value] )
        else :
            #사용자 패배 
            user_value = pc_value + 1
            print("사용자 패배 사용자 : ", value_str[user_value], " 컴퓨터 : ", value_str[pc_value] )
    if(count == 9) :
        count = 0
    else :
        count += 1

#4 야구 게임

게임의 흐름 임의의 숫자 3자리 숫자를 미리 설정합니다. (중복되지 않은 숫자) 394(가능), 904(가능), 024(불가능 0이 시작 값), 233(불가능 중복), 333(불가능 중복) 사용자가는 3자리 숫자를 입력합니다. 사용자의 입력한 값이 위치와 값이 일치 : S 위치는 다르지만 값이 일치 : B 존재하지 않는 값을 입력 : O ex) 임의의 숫자 536 사용자 입력 >>> 350 출력 <<< 2B (값이 3,5 로 일치하지만 위치가 다르다) 사용자 입력 >>> 501 출력 <<< 1S (5의 위치와 값이 같다) 사용자 입력 >>> 941 출력 >>> O (일치하는 값이 하나도 없다)

조건 : 1. 사용자는 3자리 숫자를 입력한다. 2. 입의의 숫자와 같은 숫자를 입력하면 종료 된다. 3. 1000을 입력하면 종료된다.

참고 풀이

# -*- coding: UTF-8 -*-
# 숫자 3자리를 출제한다. 
# 사용자 입력 값 3자리 수 를 받는다. 
import random
number = [0,1,2,3,4,5,6,7,8,9]
random.shuffle(number)
#FIXME 이 앞자리에 있을 수 있음!!! 
quizNum = number[:3]
print(quizNum)
while True:
    userInput = input('3자리 수를 입력하세요.')
    if(not userInput.isnumeric()) :
        #숫자 형태가 아닐 때 들어옵니다.
        print(' 숫자 형태만 입력하세요! ')
        continue
    if(userInput == '1000') :
        print('종료!!')
        break
    first = userInput[0]
    second = userInput[1]
    third = userInput[2]
    first = int(first)
    second = int(second)
    third = int(third)
    #자리와 숫자가 같다 S, 숫자가 같다 B, 같은 숫자가 없다 O
    #ball 찾는다 in quizNum
    ballCount = 0
    strikeCount = 0
    if(first in quizNum) :
        ballCount += 1
    if(second in quizNum) :
        ballCount += 1
    if(third in quizNum) :
        ballCount += 1
    #s 찾는다. 
    if(first == quizNum[0]) :
        strikeCount += 1
        ballCount -= 1
    if(second == quizNum[1]) :
        strikeCount += 1
        ballCount -= 1
    if(third == quizNum[2]) :
        strikeCount += 1
        ballCount -= 1        
    if(strikeCount == 3) :
        print('축하합니다.')
        break
    elif(ballCount > 0 or strikeCount > 0):
        print(strikeCount, 'S ,', ballCount, 'B ')
    else :
        print(' Out 입니다. ')

#5 식당 주문 프로그램

어느 식당의 메뉴판 입니다.

T1

소고기 쌀국수

7,000원

T2

소고기 매운쌀국수

7,500원

P1

파인애플 볶음밥

8,000원

P2

해물볶음면

8,500원

Q1

월남쌈

12,000원

주문이 완료 되면 주문 확인을 하고 총 결제 금액을 보여주는 프로그램을 작성하세요.

조건 : 1. 주문의 개 수 제한은 없습니다. 2. 주문에 도움을 주는 기능은 각자 만들면 됩니다. 3. 딕셔너리를 잘 활용해주세요.

#6 수강생 리스트를 활용해서 서울시에 살고있는 사람을 구하세요.

#7 수강생 리스트에서 몇 가지의 취미가 있고, 같은 취미를 가진 사람끼리 골라내세요.

#8 수강생 리스트를 활용해서 키와 값을 입력받아 해당하는 사람을 구하세요.

ex) >>> 어떤 항목을 선택 하시겠습니까? <<< 나이 >>> 값은 얼마 입니까? <<< 38 >>> [김민철, 황용훈]

ex2) >>> 어떤 항목을 선택 하시겠습니까? >>> 1. 나이, 2. 직업, 3. 취미, 4. 목표, 5. 음식, 6. 장비, 7 나라 <<< 7 >>> 값은 얼마 입니까? <<< 네델란드 >>> [김대성, 박미지, 김민철]

Previous반복문Next함수(Function)

Last updated 6 years ago