
⬇️ list 이론
https://velog.io/@sxlbl/Zerobase자료구조-자료구조-이론과-List
1부터 100사이에 난수 10개를 생성한 후 짝수와 홀수를 구분해서 리스트에 저장하고
각각의 개수를 출력하는 프로그램
import random
even = []
odd = []
sample = random.sample(range(1,101),10)
for i in sample :
if i % 2 == 0 :
even.append(i)
elif i % 2 != 0 :
odd.append(i)
print(f'생성된 난수 : {sample}')
print(f'홀수 : {odd} 갯수 : {len(odd)}')
print(f'짝수 : {even} 갯수 : {len(even)}')
2로 나눈 나머지가 0이면 짝수 니면 홀수로 구분하고
각각의 리스트에 append하는비교적 간단한 문제풀이.
import random
list = ['영유아','어린이','청소년','성인','어르신']
visitor = []
money_1 = 0
money_2 = 200
money_3 = 300
money_4 = 500
money_5 = 0
money = 0
sum_pay = 0
for i in range(100) :
visitor.append(random.choice(list))
print('-'*50)
for i in list :
cnt = visitor.count(i)
if i == '영유아' :
money = money_1
elif i == '어린이' :
money = money_2
elif i == '청소년' :
money = money_3
elif i == '성인' :
money = money_4
elif i == '어르신' :
money = money_5
pay = cnt * money
sum_pay += pay
print(f'{i}: {cnt}명: {pay}원')
print('-'*50)
print(f'1일 요금 총 합계 : {format(sum_pay,',')}원')
print('-'*50)
딕셔너리 구조로 풀면 더 코드가 간결해졌겠지만,
복습 차 리스트로 만들어보았다.
그리 어려운 문제는 아니다.
친구 이름 다섯명을 리스트에 저장하고 오름차순과 내림차순으로 정렬해보자
friends = []
for i in range(5) :
fn = input('친구이름 입력 : ')
friends.append(fn)
print(f'친구들 : {friends}')
friends.sort()
print(f'오름차순 : {friends}')
friends.sort(reverse=True)
print(f'내림차순 : {friends}')
다음리스트에서 중복 아이템을 제거하는 프로그램을 만들어보자
numbers = [2,22,7,8,9,2,7,3,5,2,7,1,3]
print(f'numbers : {numbers}')
for i in numbers :
if numbers.count(i) >= 2 :
numbers.remove(i)
print(f'numbers : {numbers}')
sort,count,remove 메소드를 활용하는 기본 문제풀이
4개의 숫자 중 서로다른 숫자 2개를 선택해서 만들 수 있는 모든 경우의 수를 출력하는 프로그램
numbers = [4,6,7,9]
result = []
for n1 in numbers :
for n2 in numbers :
if n1 != n2 :
result.append([n1,n2])
print(f'result : {result}, length : {len(result)}')
중첩 반복문으로 numbers의 아이템을 2개 꺼내오고
서로다른 숫자일 경우 해당 조합으로
result 리스트에 append 시켜서 풀었다.