데이터분석/Python 파이썬 1달만에 마스터하기

Day7 Random, randint, choice, shuffle, 반복문 for x in range [파이썬 1달만에 마스터하기]

어반닥터 2024. 1. 11. 12:58
728x90
반응형
지난 시간 리뷰
If문을 응용한 리뷰 문제 4가지

#1 숫자를 입력받고, 홀수 또는 짝수인지 알려주는 프로그램

 

num=int(input("숫자 입력: "))
print(num % 2)
if  num % 2 == 1:
    print ("홀수 입니다")
else: print("짝수 입니다")
#2 문자 한개를 입력하고, 알파벳이면 '알파벳입니다', 아니면 '알파벳이 아닙니다'  알려주는 프로그램
if문 & <name.isalpha( ) 활용>
text=(input("문자 입력: "))
print(text.isalpha())
if text.isalpha() == True:         #== True 부분 생략 가능!
    print ("알파벳 입니다")
else:
    print ("알파벳이 아니에요")
#3 비밀번호 설정 프로그램 
- 최소 10자 이상, 
- 영문과 숫자의 조합 필요,
- 특수문자 하나 이상 포함!

pw=(input("비밀번호 입력: "))
if len(pw) < 10:
    print ("최소 10글자 설정해주세요")
elif pw.isalnum() == True:    # pw.isalnum() 은 알파벳/ 혹은 숫자인지 알려준다
    print ("영어와 숫자를 꼭 포함해 주세요")
elif ('!' in pw or '@' in pw or '#' in pw or '$' in pw) == False:
    print("특수문자를 포함해주세요")
else:
    print ("비밀번호 설정 완료!")

#4 버스 요금 계산기
- 사용자로부터 버스 노선의 종류를 나타내는 정수와 승객의 나이를 입력받고, 노선별 요금 알려주기
- 노선별 요금: 1. 시내버스 (1200) 2. 광역버스 (2000) 3. 마을버스 (1000)
- 연령별 할인율: 1. 7세 이하 어린이 (무료) 2. 8-19세 청소년 (30%) 3. 65세이상 노인 (무료)

bus={
    1: {
        'name': '시내버스',
        'price': 1200,
    },
    2: {
        'name': '광역버스',
        'price': 2000,
    },
    3: {
        'name': '마을버스',
        'price': 1000,
    },
}

bus_choice=int(input(f"버스를 선택하세요!: "))
age = int(input("나이를 입력하세요: "))

if age <= 7 or 65 <= age:
    print ("무료 입니다!")
elif 8 <= age and age <=19:
    print (f"{bus[bus_choice]['name']} 노선 요금은 {bus[bus_choice]['price']*0.7} 입니다")
else:
    print(f"{bus[bus_choice]['name']} 노선 요금은 {bus[bus_choice]['price']} 입니다")

 

Random
파이썬에서 random 모듈은 난수를 생성하는 데 사용되며, 다양한 종류의 난수 생성 함수를 제공함. 이 모듈은 게임, 시뮬레이션, 테스팅, 보안 및 기타 많은 분야에서 활용 됨. 다음과 같은 주요 함수들이 포함 됨:
1. randint(a,b): a와 b 사이의 랜덤한 정수를 반환
2. random(): 0과 1 사이의 랜덤한 실수를 반환
3. choice(seq): 주어진 시퀀스 (리스트, 튜플 등)에서 랜덤한 요소를 반환
4. shuffle(x [,random]): 시퀀스 요소들을 무작위로 섞음 
#random test

import random

print(random.randint(0,100))          #randint는 랜덤하게 정수 뽑기임(0부터 100까지)
print(random.random())                      #0~1 사이의 실수 뽑기임

fruits = ['사과','망고','바나나','멜론']
print(random.choice(fruits))                #fruits에서 랜덤 뽑기
random.shuffle(fruits)                            #리스트를 넣고 shuffle하기
print(fruits)

 

반복문 For 문 
반복문은 프로그램에서 같은 코드 도는 일련의 코드를 반복 실행하는 구조. 
반복문을 사용하면, 동일한 작업을 여러번 수행하도록 컴퓨터에 지시할 수 있음
for 변수 in range (n)
Range()함수
1. 한 매개변수를 가질 때 (range(stop#))
- 0부터 stop-1 까지의 숫자를 생성
- 예) range (5)는 0,1,2,3,4를 생성
2. 두 매개변수를 가질 때 (range(start,stop))
- start부터 stop-1까지의 숫자를 생성
- 예) range (2,5)는 2,3,4를 생성
3. 세 매개변수를 가질 때 (range(start,stop,step))
- start부터 시작해서 stop-1까지, step만큼의 간격으로 숫자를 생성
- 예) range (2,10,2)는 2,4,6,8을 생성

(활용예시)

# #유저에게 n번째까지의 정수를 받고, m 의 정수를 받으면
# # 0~n 까지의 m 의 공배수의 총합을 나타내는 프로그램
num=int(input("n번째까지의 정수 입력: "))
mul=int(input("m의 공배수: "))
sum=0
for x in range (num+1):
    if x % mul ==0:
        sum += x
        print(f"총합: {sum}")

#for 함수 시작지점 다르게

for x in range (2,10):          #0부터 말고, 2부터! 9까지!
    print(x)

(응용예시)

#0~10,000까지의 랜덤을 숫자를 담고 있는 6개의 정수를 담고 있는 리스트 출력
import random
print(random.randint(0,10000))
numbers= []
for x in range (0,10):
    number=random.randint(1,10001)
    numbers.append(number)
    print(numbers)
반응형