-
2023.7.15.토요일 // 기초 300제 & 프로그래머스 문제TIL( Today I Learned) 2023. 7. 15. 00:37
171
아래와 같이 리스트의 데이터를 출력하라. 단, for문과 range문을 사용하라.
price_list = [32100, 32150, 32000, 32500]Copy32100 32150 32000 32500mine
price_list = [32100, 32150, 32000, 32500]for i in price_list:print(i)해설1
for i in range(4):
print(price_list[i])해설2 = 제일 좋은 코드 - 이유는 price_list 값이 변하여도 상관없다
for i in range(len(price_list)):
print(price_list[i])&& 이런 파생코드
price_list = [32100, 32150, 32000, 32500]for i in range(4):print(price_list[:1+i])
결과 값[32100][32100, 32150][32100, 32150, 32000][32100, 32150, 32000, 32500]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172 번에서
enumerate() 사용 예-1
fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: orangeenumerate() 사용 예-2
price_list = [32100, 32150, 32000, 32500]
for i, data in enumerate(price_list):
print(i, data)0 32100
1 32150
2 32000
3 32500~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
180
리스트에 5일간의 저가, 고가 정보가 저장돼 있다. 고가와 저가의 차를 변동폭이라고 정의할 때, low, high 두 개의 리스트를 사용해서 5일간의 변동폭을 volatility 리스트에 저장하라.
low_prices = [100, 200, 400, 800, 1000] high_prices = [150, 300, 430, 880, 1000] volatility = [] for i in range(len(low_prices)) : volatility.append(high_prices[i] - low_prices[i]) ₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩₩ volatility.append(i) = abs(high_prices[i] - low_prices[i]) ?????????? 여기서 volatility.append(i)는 잘못된 문법입니다. volatility.append()는 i를 volatility 리스트에 추가하려는 의도인 것 같지만, 할당 연산자 =가 사용되었는데, 이는 유효한 문법이 아님. volatility.append(abs(high_prices[i] - low_prices[i])) 이렇게 수정하면 volatility.append()를 사용하여 high_prices[i] - low_prices[i]의 절대값을 volatility 리스트에 추가합니다. 수정된 코드를 실행하면 volatility 리스트에는 각 인덱스에서 high_prices와 low_prices 간의 변동성이 계산되어 저장된다.185. - 어거지로 맞춘거 - 다시 봐야 ??????
리스트에 저장된 데이터를 아래와 같이 출력하라.
apart = [ [101, 102], [201, 202], [301, 302] ]
101 호
102 호
201 호
202 호
301 호
302 호~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for row in apart:
for col in row:
print(col, "호")~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
나의 답 - 모잘라apart = [ [101, 102], [201, 202], [301, 302] ]for i in range(len(apart)):print(apart[i][0])print(apart[i][1])쳇gpt 도 나랑 같네 - 멋있게 하나의 식으로 표현할 수 있을까?
apart = [[101, 102], [201, 202], [301, 302]]
result = []
for i in range(len(apart)):
result.append("Room " + str(apart[i][0]))
result.append("Room " + str(apart[i][1]))
print(result)프로그래머스 문제
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.
- 예각 : 0 < angle < 90
- 직각 : angle = 90
- 둔각 : 90 < angle < 180
- 평각 : angle = 180
def solution(angle):
angle = int(angle)
answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
return answer
angle = int(input("Enter the angle: "))
result = solution(angle)
print(result)당신이 제공한 코드에서 answer = (angle // 90) * 2 + (angle % 90 > 0) * 1 를 한국어로 설명해드리겠습니다:
- (angle // 90)는 angle을 90으로 나눈 몫을 계산합니다. angle을 90으로 나눌 때 나머지가 발생하지 않고 정확히 나누어 떨어지는 횟수를 의미합니다. 예를 들어, angle이 180인 경우 (angle // 90)의 결과는 2가 됩니다.
- * 2는 정수 나눗셈의 결과에 2를 곱합니다. 이는 90도 짝짓기에 따라서 각각의 짝은 2개의 직각을 의미하기 때문입니다.
- (angle % 90 > 0)는 angle을 90으로 나눈 나머지를 계산합니다. 만약 나머지가 0보다 크다면, angle은 90의 배수가 아니며 추가적인 예각이나 둔각이 존재한다는 것을 의미합니다.
- * 1는 나머지 연산의 결과에 1을 곱합니다. 이는 추가적인 각도에 대한 카운트를 위해 1을 추가하는 역할을 합니다.
- 마지막으로, 두 계산 값을 합하여 주어진 각도에서의 직각의 총 개수를 구합니다.
예를 들어, 입력 각도가 135인 경우, 식은 다음과 같이 평가됩니다:
- (angle // 90) * 2: (135 // 90) * 2는 1 * 2로 계산되어 2가 됩니다.
- (angle % 90 > 0) * 1: (135 % 90 > 0) * 1는 45 > 0로 평가되어 True가 되고, 이후 1 * 1로 계산되어 1이 됩니다.
- 두 값을 더함: 2 + 1은 최종 결과로 3을 얻습니다.
따라서, answer 변수에는 주어진 각도에서의 직각 개수인 3이 할당됩니다.
Regenerate response'TIL( Today I Learned)' 카테고리의 다른 글
2023.7.17.월요일 . 프로그래머스 문제 (0) 2023.07.17 2023.7.16.일요일 파이썬 300제 done, 불필요한것은 skip. (0) 2023.07.16 2023.7.14.금요일. 파이썬 기초문제 (0) 2023.07.14 7.13.목요일/ 초보자를 위한 파이썬300제 중에서 (0) 2023.07.13 7.12.수요일, 데이타 공부에서 & 프로그래머스 기초문제 풀이 (0) 2023.07.12