bestone888 2024. 9. 10. 02:36

240909

In [4]:
score_list = [75, 80, 70, 95, 90]

if score_list:
    pass
else:
    print('요소 없음')

# 처리할 구문이 없을 때 pass 사용 가능

datetime 모듈

In [19]:
import datetime as dt
now = dt.datetime.now()
week_num = now.weekday()   # 0:월 ~6:일

print(now)
print(week_num) 

# datetime 모듈의 weekday() 메소드로 요일을 숫자로 표현 가능
2024-09-10 01:45:16.840243
1

enumerate() 함수

In [24]:
# 문자열이나 컨테이너 자료형을 입력 받아, 순번과 요소를 포함하는 오브젝트로 반환

member = ['홍길동', '한사랑', '일지매', '박여인', '강우동']

for i, name in enumerate(member):
    print(i, name)
0 홍길동
1 한사랑
2 일지매
3 박여인
4 강우동
In [30]:
st = 'abcdefg'
for i, ch in enumerate(st):
    print(i, ch)
0 a
1 b
2 c
3 d
4 e
5 f
6 g

반복문 확장(list)

In [42]:
nums = [1,2,3,4,5]

square = [x**2 for x in nums]
print(square)

even_square = [x**2 for x in nums if x%2 ==0]
print(even_square)
[1, 4, 9, 16, 25]
[4, 16]
In [48]:
score = [75, 46, 93, -82, -77, 130, 100, 75, -10]


# score에서 음이 아닌 수 
score1 = [x for x in score if x>=0]
print(score1)


# score1에서 100 이하인 수
score2 = [x for x in score1 if x<=100]
print(score2)


# score2 모든 원소 10으로 나눈 수
score3 = [x/10 for x in score2]
print(score3)
[75, 46, 93, 130, 100, 75]
[75, 46, 93, 100, 75]
[7.5, 4.6, 9.3, 10.0, 7.5]

반복문 확장(dict)

In [68]:
#################################################

score = {'홍길동': 85, '한사랑': 95, '일지매': 90}
score90 = {key : value for key, value in score.items() if value>=90}
print(score90)
{'한사랑': 95, '일지매': 90}
In [ ]:
score = {'홍길동': 85, '한사랑': 95, '일지매': 90}
score90 = {key: score[key] for key in score.keys() if score[key]>=90}
print(score90)

###################################################

isnumeric()

In [1]:
# isnumeric() 메소드 : 숫자면 True

while True:
    inp = input('숫자 입력, 종료시 0: ')
    if inp.isnumeric() == False:
        continue
    if int(inp) == 0:
        break
    print('{} 나누기 10의 나머지는 {}'.format(inp, int(inp)%10))
        
 
10 나누기 10의 나머지는 0
 
  • isalnum() 메소드: 모든 문자가 알파벳이나 숫자면 True
  • isalpha() 메소드: 모든 문자가 알파벳이면 True
  • isdecimal() 메소드: 모든 문자가 0~9이면 True
  • islower() 메소드: 모든 문자가 소문자면 True
In [15]:
print('0.9'.isnumeric())
print('abc91'.isalnum())
False
True
In [ ]:
 

[심화] 5,000원의 돈을 갖고 있습니다. 동료들과 AIVLE 로봇카페에서 아메리카노를 구매하려고 합니다. (아메리카노는 한잔에 1,300원)

  • 갖고 있는 돈을 변수 money, 커피 한 잔의 가격을 변수 coffee에 저장합니다.
  • '아메리카노를 구입하시겠습니까?'에 대한 대답을 입력받아, 대답이 '네'일 경우 커피가 판매됩니다.
  • 다른 대답을 할 경우 '다시 입력해 주세요.'라고 출력합니다.
  • 한 잔을 구매할 때마다 남은 돈을 변수 money에 저장하여 출력합니다.
  • 커피를 살 돈이 모자랄 경우 '돈이 모자랍니다. 커피를 구입할 수 없습니다.'라고 출력하고 종료합니다.
  • 힌트: while 문 내에서 if 조건문을 중첩해서 사용해야 합니다
In [17]:
money = 5000
coffee = 1300

ans = input('아미리카노를 구입하시겠습니까?')
while True:

    if ans == '네':
        if money >=1300:
            money =  money - coffee
            print('잔액:', money)
            ans = input('아미리카노를 구입하시겠습니까?')
            continue
        else: 
            print('돈이 부족합니다')
            break
    else:
        ans = input('다시 입력해 주세요')
 
잔액: 3700
 
잔액: 2400
 
잔액: 1100
 
돈이 부족합니다