Nonamed Develog
[TIL] AI 웹 개발 7기 사전 캠프 2-1 본문
일일 알고리즘 코드카타 풀어보기
Q. 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
제한 사항)0 < angle ≤ 100angle은 정수 입니다.
입출력 예)
angle | result |
70 | 1 |
91 | 3 |
180 | 4 |
def solution(angle):
if 0 < angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif 90 < angle < 180:
answer = 3
else angle == 180:
answer = 4
return answer
1. error
2. 각 조건문 별로 실행했을 때는 결과가 하나씩 잘 나왔다.(한꺼번에는 왜 안되지?)
def solution(angle):
if 0 < angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif 90 < angle < 180:
answer = 3
else:
answer = 4
return answer
조건문에서 else는 if, else의 조건이 아닌 것을 말하는 것이라 굳이 조건을 달지 않아도 된다.(제한 사항이 180까지라 가능)
def solution(angle):
if 0 < angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif 90 < angle < 180:
answer = 3
elif angle == 180:
answer = 4
return answer
마지막 조건까지 달고 싶으면 elif를 끝까지 써주면 된다.(else로 끝내지 않아도 됨)(제한사항이 없다면 elif를 끝까지 사용)
def solution(angle):
if angle<=90:
return 1 if angle<90 else 2
else:
return 3 if angle<180 else 4
def solution(angle):
if angle < 90:
answer = 1
elif angle == 90:
answer = 2
elif angle > 90 and angle < 180:
answer = 3
else:
answer = 4
return answer
다른 답을 확인해 봤는데 위의 제한 사항을 잘 이용한 것으로 보인다. (문제를 더 똑똑하게 들여다 보자)
def solution(angle):
answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
return answer
이해는 안되지만 이런 답도 있다.
Q. 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.
def solution(num1, num2):
answer = num1 + num2
return answer
Q. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요.
def solution(num1, num2):
answer = int((num1 / num2) * 1000)
return answer
정수를 만들 때는 int()를 사용한다.
[Python 과제]Lv2. 스파르타 자판기
파이썬 코드를 이용해 자판기를 만들어 봅시다.
1. 사용자가 볼 수 있게 메뉴를 표시합니다.
- 다음과 같은 음료를 실행창에 표시합니다.
- 사이다 1,700원
- 콜라 1,900원
- 식혜 2,500원
- 솔의눈 3,000원
beverages = [
{'name':'사이다','price':1700},
{'name':'콜라,','price':1900},
{'name':'식혜','price':2500},
{'name':'솔의눈','price':3000},
]
먼저 리스트에 딕셔너리를 작성해보자. (키+밸류를 정리할 때는 딕셔너리를 이용한다.)
beverages = [
{'name': '사이다','price': 1700},
{'name': '콜라,','price': 1900},
{'name': '식혜','price': 2500},
{'name': '솔의눈','price': 3000},
]
for beverage in beverages
name = beverage['name']
price = beverage['price']
print(name, price)
error..
beverages = [
{'name': '사이다','price': 1700},
{'name': '콜라','price': 1900},
{'name': '식혜','price': 2500},
{'name': '솔의눈','price': 3000},
]
for beverage in beverages:
name = beverage['name']
price = beverage['price']
print(name, price)
:(따옴표) 하나 때문에 30분 잡아먹음...
#
사이다 1700
콜라 1900
식혜 2500
솔의눈 3000
힌트를 확인해보자.
힌트1) 딕셔너리 자료형을 사용해서 음료 정보를 담아보세요.
beverages = {
"사이다": 1700,
"콜라": 1900,
"식혜": 2500,
"솔의눈": 3000
}
힌트 2) 딕셔너리의 items 와 for 문을 조합해서 사용해보세요.
for key, value in beverages.items():
# 여기에 print 문을 적어주세요
????? 뭔가 많이 다른데??
beverages = {
"사이다": 1700,
"콜라": 1900,
"식혜": 2500,
"솔의눈": 3000
}
for beverage, price in beverages.items():
print(beverage, price)
#
사이다 1700
콜라 1900
식혜 2500
솔의눈 3000
힌트대로 했더니 훨씬 쉽게 실행값을 얻을 수 있었다.
item() 함수
딕셔너리 변수에만 사용할 수 있고, 매개변수는 갖고 있지 않다.
for문과 결합하여 key, value를 쌍으로 얻을 수 있다.
2. 사용자는 음료를 선택할 수 있습니다.
- 사용자에게 어떤 음료를 살 것인지를 입력받습니다.
- ex) 사이다
- 목록에 없는 음료일 경우 실행이 종료됩니다.
모르겠다... 질문거리가 점점 늘어난다.
'WHAT I LEARN > TIL' 카테고리의 다른 글
[TIL] AI 웹 개발 7기 사전 캠프 2-3 (0) | 2024.05.29 |
---|---|
[TIL] AI 웹 개발 7기 사전 캠프 2-2 (1) | 2024.05.28 |
[TIL] AI 웹 개발 7기 사전 캠프 1-5 (0) | 2024.05.24 |
[TIL] AI 웹 개발 7기 사전 캠프 1-4 (1) | 2024.05.23 |
[TIL] AI 웹 개발 7기 사전 캠프 1-3 (1) | 2024.05.22 |