데이터분석/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)
반응형