리스트, 튜플, 딕셔너리에 관한 문제에 대한 실습을 하였다.
39번 리스트(01)
1부터 사용자가 입력한 숫자까지의 약수와 소수를 리스트에 각각 저장하고, 이것을 출력하는 프로그램을 만들어보자.
inputNum = int(input('1보다 큰 정수 입력: ')) listA = [] temp = [] #약수가 아닌 수의 임시 모임 listB = [] listA.append(1) #약수를 listA에 저장한다. for i in range(2,inputNum+1): if inputNum % i == 0: listA.append(i) else: temp.append(i) #약수가 아니면 저장. #약수가 아닌 수 중에 진짜 소수를 찾아서 저장한다. for i in temp: flag = 0 for j in range(2, i): if i % j ==0: flag = 1 break if flag == 0: listB.append(i) print(listA) print(listB)
41번 리스트(03)
나이별 입장료가 다른 공원의 1일 전체 입장 요금을 구하는 프로그램을 만들어보자. (1일 총 입장객 : 100명)
import random ages = [7, 13, 19, 64, 100] #나이 단계를 저장 fee = [0, 200, 300, 500, 0] #나이 겸 요금을 저장 cnt = [] visit = [] for i in range(0,100): visit.append(random.randint(0,100)) #우선 나이에 대해 오름차순으로 정렬한다. visit.sort() num = 0 temp = 0 for i, j in enumerate(visit): if j > ages[num]: cnt.append(temp) temp = 1 num += 1 else: temp += 1 cnt.append(temp) people = ['영유아', '어린이','청소년','성 인','어르신'] total = 0 print('-'*40) for i in range(0,5): pay = cnt[i] * fee[i] total += pay print(f'{people[i]}\t : {cnt[i]}명\t : ',end='') print('{}원 '.format(format(pay,','))) print('-'*40) print('1일 요금 총합계 : {}원'.format(format(total, ','))) print('-'*40)
47번 튜플(04)
다음 튜플의 과일개수에 대해서 오름차순 으로 정렬해보자.
fruits = ({'수박':8}, {'포도':13}, {'참외':12}, {'사과':17}, {'자두':19}, {'자몽':15}) num = 0 fruits = list(fruits) num = len(fruits)-1 for i in range(0,num): for j in range(0,num-i): if list(fruits[j].values())[0] > list(fruits[j+1].values())[0]: tt = fruits[j] fruits[j] = fruits[j+1] fruits[j+1] = tt print(fruits)
52번 딕셔너리(04)
딕셔너리를 이용해서 5명의 회원을 가입 받고 전체 회원 정보를 출력하는 프로그램을 만들어보자.
members = {} #회원정보 입력 n = 0 while n<5: mail = input('메일 입력 :') pw = input('비번 입력 :') if mail in members: print('이미 사용중인 계정입니다.') continue else: members[mail] = pw n += 1 #회원정보 출력 for k in members.keys(): print(f'{k} : {members[k]}') #회원정보 삭제 flag = 0 while flag==0: dmail = input('삭제할 계쩡 입력 : ') if dmail in members: dpw = input('비번 입력 : ') if members[dmail] == dpw: print(f'{dmail}님 삭제 완료!') print(f'{dmail} : {dpw}') del members[dmail] flag = 1 else: print('비번 확인 요망!') else: print('계정 확인 요망!')