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

Day8 for x in range 함수 응용, 리스트, 텍스트, enumerate [파이썬 1달만에 마스터하기]

어반닥터 2024. 1. 12. 13:01
728x90
반응형
지난 시간 리뷰문제

# (REVIEW 1) 1개의 각도를 입력받아, 예각 (0-90), 직각 (90), 평각 (180), 둔각 (90 초과 ~ 180 미만) 으로 분류

angle= int(input("각도 입력하세요: "))
if  0 < angle <90:
    print("예각입니다")
elif   angle == 90:
    print ("직각입니다")
elif    angle == 180:
    print ("평각입니다")
elif 90 < angle < 180:
    print ("둔각입니다")
else: print ("180도 초과입니다")

# (REVIEW 2) 
# # 테마파크 입장권과 놀이기구 이용 패키지
# # 입장권 종류 1~3과 나이를 입력 받고, 패키치에 따라 가격 계산
# # 1. 일반 입장권 50000
# # 2. 프리미엄 입장권 75000
# # 3. VIP 입장권 100000
# # 나이에 따른 할인율
# # 12세 미만 50% 할인
# # 65세 이상 30% 할인

park = {
    1: {
        'name': '일반 입장권',
        'price': 50000
    },
    2: {
        'name': '프리미엄 입장권',
        'price':75000
    },
    3: {
        'name':'VIP 입장권',
        'price':100000
    }
}
name_choice = int(input("파크 고르세요! (1 일반 2 프리미엄 3 VIP) :  "))
age = int(input("나이 :"))
if age <= 12:
    print(f"총 이용 요금은 {park[name_choice]['price']*.5} 입니다")
elif age >= 65:
    print(f"총 이용 요금은 {park[name_choice]['price']*.3} 입니다")
else:
    print(f"총 이용 요금은 {park[name_choice]['price'] * 1} 입니다")

# (REVIEW 3) 0~10,000까지의 랜덤을 숫자를 담고 있는 6개의 정수를 담고 있는 리스트 출력

import random

num= []
for x in range (6):                          #6개 추출
    number=random.randint(0,10001)     #0~10000까지를 랜덤 추출
    num.append(number)
    num.sort()                           #오름차순 정렬
    print(num)

 

본 수업

 # (for 기본) for x in "단어" 입력시 알파벳별 나열된다

for x in "icecream":
    print(x)           # i c e c r e a m

# (for 활용) 텍스트를 입력하고, 소문자를 대문자로, 대문자를 소문자로 만들기

# 유저에게 InpUT 받고 -> iNPut 출력
user = input("단어 입력: ")
word = ''
for x in user:
    if x.isupper():
        word = word + x.lower()   # ''+'i' => i
    else:
        word = word + x.upper()   # i + N => iN
print(word)

# (for 활용) 단어 내에 'a' 'e' 가 포함되어 있으면, 없애기 

user = input ("단어 입력: ")
output = ''
#apple
for x in user:
    if x == 'a' or x == 'e':
        output = output
    else:
        output = output + x
        print(output)
#

# (for 활용) 단어 내에 'a' 'e' 'i' 'o' 'u' 가 포함되어 있으면, 없애기 ( pass )

user = input ("단어 입력: ")
output = ''
#apple
for x in user:
    if x in 'aeiou':
        pass
    else:
        output += x
        print(output)         #ppl

# (for 활용) 리스트 내에 있는 단어 수를 가져다가 리스트로 만들기

list=[]
for x in ['사과', '바나나','파인애플']:
    print(len(x))                  #  2   3   4
    list.append(len(x))
print(list)                        # [2,3,4]

 

# (for 활용) 짝수 리스트, 홀수 리스트 만들기

even=[]
odd=[]
evenSum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
    if x % 2 == 0:
        even.append(x)       
    else: odd.append(x)
print(even)         # [2,4,6,8,10]
print(odd)          # [1,3,5,7,9]

# (for 활용) 0 ~ 10,000 까지의 범위에서 100개의 정수 리스트를 받고, 리스트에서 홀수면 'odd' 짝수면 'even'으로 변경하기

import random
List=[]

for x in range (100):
    List.append(random.randint(0,10001))
    print(List)
List.sort()
print(List)

evenoddList= []
for x in List:
    if x % 2 ==1:
        evenoddList.append('odd')
    else:
        evenoddList.append('even')
print(List)             # [30, 450, 523, 534, 627, 735, 971...
print(evenoddList)      # ['even', 'even', 'odd', 'even', 'odd'..

 

for 변수 in (리스트, 문자열 ... ) [ 반복 가능한 객체 ]

for 변수 in enumerate ( )
enumerate( ) 함수는 리스트, 문자열 등을 순회하면서, 각 요소의 인덱스와 값을 동시에 얻을 수 있게 해줌

(enumerate 함수 예시)

device=['아이폰','갤럭시','맥북']
for x,y in enumerate(device):   #enumerate는 요소와 순서를 둘다 알려줌
    print(f"{x}.{y}")  #0.아이폰  #1. 갤럭시 #2. 맥북

 

반응형