본문 바로가기
Python

2024.01.02 (화) 변수, input,output,random

by gosikoca 2024. 1. 3.

오늘 배운 내용을 정리해보자면 아래의 3가지로 나누어 지는 것 같다.

- 변수

-  input, output 함수

- random 라이브러리   

기본 - input output -> 문자열을 받아서 문자열 출력!
random - 무작위의 숫자 또는 문자를 받아와서 출력!

1. 변수는 먼저 올바른 변수 이름의 예와  잘못된 예 등을 보면서 변수의 개념을 이해했다.

 

                             name                        1user (숫자로 시작합니다)

                             age                       user-name (하이픈(-)은 허용되지 않습니다)

                       user_name                  if (Python의 키워드입니다)

                            User1

                           _temp

 

1.1 변수는 값이 변경되며 삭제가 된다는 것도 간단히 보았다.

 

1.2 변수에는 많은 종류의 타입이 있다.

  • 숫자형: 숫자를 다룹니다.
    • 정수형(int): 양수와 0, 음수를 저장할 수 있습니다. 1 5 100 0 -30 -45
    • 실수형(float): 소숫점을 표현할 수 있습니다. 1.5 5.6 100.23 0.0 -30.53245
    • 복소수형(complex): 실수부와 허수부로 나누어 수를 표현할 수 있습니다.
  • 논리 자료형(bool) : 논리 자료형 True, False을 다룹니다.
  • 시퀀스: 순서가 있는 자료형입니다.
    • 문자열 자료형(str): 문자열을 저장합니다.
    • 리스트 자료형(list): 다른 자료형을 담을 수 있는 변경 가능한 자료형입니다.
    • 튜플 자료형(tuple): 다른 자료형을 담을 수 있는 변경 불가능한 자료형입니다.
  • 컬렉션 혹은 컨테이너 자료형: 다른 자료형을 담을 수 있는 자료형입니다.
    • 리스트 자료형(list): 다른 자료형을 담을 수 있는 변경 가능한 자료형입니다.
    • 튜플 자료형(tuple): 다른 자료형을 담을 수 있는 변경 불가능한 자료형입니다.
    • 사전 자료형 또는 딕셔너리 자료형(dict): key와 value의 쌍으로 묶여 있는 key의 중복을 허락하지 않는 자료형입니다.
    • 집합 자료형 또는 셋 자료형(set): 값에 중복을 허락하지 않는 자료형입니다.
  • None 자료형: None, 아무것도 없음을 명시하는 자료형입니다.

 

2.  input, output 함수

input 과 output 이라는 함수들의 특성을 알아보고 함수들의 특성을 활용하여서 2024년 새해 계획프로그램을 만들어보았다.

 

아래와 같이 룰을 정하고 진행하였다.

# 2024년 새해 계획 프로그램

2024년도 계획을 10문장으로 적고, 그에 따른 2024년도 계획에서 중요 부분을 변수로 받아서 Input으로 받는 프로그램 만들기!

1. 나의 2024년도 계획을 적는다.
2. 그 중에서 변수로 만들수 있는 것들(input으로 받을 수 있는 것을 비운다.)
3. 10 문장에 대해서 똑같이 적용한다. (1개~3개정도 단어)
4. 테스트 해본다.
5. 코드와 결과를 업로드 한다.

 

2.1 하나의 단어를 입력받아서 출력하기

2.2 두가지 단어를 한꺼번에 받기

2.3 두가지 값을 입력 받는 법

3. random 

3.1. Randrange() 함수
randrange(start, stop[, step])

start: 범위의 시작값입니다. 이 값은 범위에 포함됩니다. 만약 start가 생략되면, 기본값은 0이 됩니다.
stop: 범위의 끝값입니다. 이 값은 범위에 포함되지 않으며, 함수는 stop - 1까지의 수 중에서 무작위로 선택합니다.
step: 선택적 매개변수로, 숫자 간의 간격을 지정합니다. 예를 들어, step이 2이면 함수는 두 숫자 간격으로 무작위 수를 선택합니다.    

 
# 1.1 기본 사용법

import random
'''
0~9까지의 임의의 숫자를 선택하는 코드를 작성
(꼭 기억) 파이썬의 숫자의 시작은 무조건 0부터
10으로 입력하면 -1 즉, 9까지
'''
num = random.randrange(20) #무조건 0부터 시작
print(num)

 

활용하여 간단한 로또 번호 뽑기

 

# 1.3 간격 설정
# 10부터 100까지 숫자 중에서 10의 간격으로 무작위 선택

num10_100 = random.randrange(10, 101, 10)
print(num10_100

 

3.2. Choice 함수
random.choice() 함수는 파이썬의 random 라이브러리에서 제공하는 매우 유용한 함수 중 하나입니다. 이 함수는 주어진 시퀀스(예: 리스트, 튜플, 문자열 등)에서 무작위로 요소 하나를 선택하여 반환합니다. 시퀀스 내의 모든 요소는 선택될 가능성이 동일합니다. random.choice() 함수를 사용하는 여러 가지 측면에 대해 더 자세히 설명하겠습니다.

#1. Choice 기본 사용법
#chosen_element = random.choice(sequence)

# 리스트에서 무작위 과일 선택
# 다양한 정보를 한번에 받아오는 것 = 리스트
elements = ['사과', '바나나', '체리']
choice_elements = random.choice(elements)
print(f'선택된 요소 : {choice_elements} 입니다.')

 

# 2. 문자열에서 무작위 문자 선택
greeting = "안녕하세요"
choice_char = random.choice(greeting)
print(f"선택된 문자: {choice_char} 입니다.")

 

활용한 실습 

'''
코드 실행 날짜 : 2024년 1월 1일
버전 : V0.1
작성자 : 김진환
코드 내용 : random라이브러리를 활용해서 실습 예제 작성
'''

# 이 코드는 Random 라이브러리를 사용한 예시입니다.
import random  # random 라이브러리를 가져옵니다.

# 두 개의 무작위 숫자를 생성하는 코드
random_number1 = random.randrange(1, 10)  #1부터 9까지의 임의의 숫자 한개를 가져옵니다.(2024.1.1 업데이트)
#random_number2 = random.randrange(1, 10)  #1부터 9까지의 임의의 숫자 한개를 가져옵니다.(2024.1.1 에러)



# 두 개의 무작위 숫자를 합산하는 코드 / 생성된 두 숫자의 합 계산
sum_of_numbers = random_number1 + random_number2

# 결과 출력
print(f"첫 번째 생성된 숫자: {random_number1}")  # 첫번째 생성된 값 (2024.1.1 에러)
print(f"두 번째 생성된 숫자: {random_number2}")  # 두번째 생성된 값
print(f"두 숫자의 합: {sum_of_numbers}")       # 두 숫자의 합 출력

 

윷놀이 프로그램 만들어보기

import random

'''
1. 윷은 앞/뒤 중에 하나를 선택해야 한다.
 1.1 윷은 랜덤으로 하나가 선택되어야 한다.
 1.2 앞/뒤를 나올 확률은 1/2이 되어야 한다.
2. 윷놀이에는 다섯가지의 이동 법칙이 있다.(빽도 X)
 2.1 윷놀이에는 도, 개, 걸, 윷, 모
 2.2 도 - 앞 3 뒤 1 / 개 - 앞 2 뒤 2 / 걸 - 앞 1 뒤 3 / 윷 - 앞 0 뒤 4 / 모 - 앞 4 뒤 0
 2.3 (히든 계산) 도 - 1  / 개 - 2  / 걸 - 3 / 윷 - 4 / 모 - 0
3. 최종적으로 도~모 하나만 선택 되어야 한다.
'''

# 윷 던지기 결과 (0: 앞, 1: 뒤)
throw1 = random.choice([0, 1])
throw2 = random.choice([0, 1])
throw3 = random.choice([0, 1])
throw4 = random.choice([0, 1])

# 뒷면의 총 개수 계산
total_back = throw1 + throw2 + throw3 + throw4

# 윷놀이 결과
# 뒷면이 없는 경우 (모), 뒷면이 1개인 경우 (도), 2개 (개), 3개 (걸), 모두 뒷면 (윷)
# results = [0,1,2,3,4]
results = ['모', '도', '개', '걸', '윷']
print(total_back)
print(results[total_back])