Recent Posts
Tags
- 기초다지기
- 코딩테스트
- AI 플랫폼을 활용한 데이터 분석
- 정보처리기사
- 데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- 이기적
- PY4E
- 인공지능기초다지기
- boostcoures
- 데이터베이스
- 부스트코스
- 오라클
- r
- boostcourse
- 빅데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- Machine Learning
- 이것이 취업을 위한 코딩테스트다 with 파이썬
- 빅데이터분석기사
- SQL
- DB
- 코딩테스트 python
- [멀티잇]데이터 시각화&분석 취업캠프(Python)
- python
- 네이버부스트캠프
- 프로그래머스
- 파이썬
- 빅분기
- 난생처음 R코딩&데이터 분석 저서
- Oracle
- Ai
- Today
- Total
매일공부
[python] 파이썬 list & 자료구조 예제 본문
- 1차원 리스트 연습문제
Q. 1~100사이의 정수 난수 10개 중에서 max값 출력하라
import random
ran_number = []
for i in range(10):
ran_number.append(random.randint(1, 100))
ran_number.sort()
print("저장된 난수 10개 :", ran_number)
print("난수 중에서 가장 큰 값 :", ran_number[9])
저장된 난수 10개 : [11, 18, 28, 33, 35, 42, 42, 72, 75, 80]
난수 중에서 가장 큰 값 : 80
Q. 1~100 사이의 정수 난수 10개 중에서 5의 배수의 개수와 합계 평균을 출력하라
import random
ran_number = []
ran_number_5 = []
count = 0
sum = 0
for i in range(10):
ran_number.append(random.randint(1, 100))
print("전체 리스트 : ", ran_number)
for j in ran_number:
sum = j
if j % 5 == 0:
count += 1
sum += sum
ran_number_5.append(j)
if count == 0:
print("전체 리스트 중 5의 배수가 없습니다.")
else :
print("전체 리스트 중의 5의 배수 :", ran_number_5)
print("리스트 내 5의 배수의 개수 :", count)
print("리스트 내 5의 배수의 합계 :", sum)
print("리스트 내 5의 배수의 평균 :", sum/count)
전체 리스트 : [40, 96, 86, 14, 15, 49, 10, 60, 23, 49]
전체 리스트 중의 5의 배수 : [40, 15, 10, 60]
리스트 내 5의 배수의 개수 : 4
리스트 내 5의 배수의 합계 : 49
리스트 내 5의 배수의 평균 : 12.25
Q. lotto 번호 생성해서 리스트에 저장하고 오름차순으로 출력하라 (로또 번호는 1~45의 숫자 중 6개의 중복값 없음)
#set() 활용x
import random
lotto = []
number = 0
while len(lotto) < 6:
number = random.randint(1, 45)
if not number in lotto:
lotto.append(number)
lotto.sort()
print(lotto)
#set() 활용
import random
lotto_set = set()
while len(lotto_set) < 6:
lotto_set.add(random.randint(1, 45))
lotto = list(lotto_set)
lotto.sort()
print("** 로또 추첨을 시작합니다. **")
print("추첨된 로또 번호 >", end=" ")
for i in lotto:
print(i, end=" ")
** 로또 추첨을 시작합니다. **
추첨된 로또 번호 > 6 14 21 30 40 42
Q. 입력된 문자열에서 숫자를 삭제하는 프로그램을 작성하시오
[Sample Run]
문자열 --> IT python 1234 Flask
숫자제거 --> IT python Flask
str_input = input("문자열을 입력해주세요 : ")
str_input = str_input.split(" ")
####### isdigit() 사용 #######
for value in str_input:
if value.isdigit():
str_input.remove(value)
####### try-except 구문 사용 #######
for value in str_input :
try:
if type(float(value)) == type(1.0) :
str_input.remove(value)
except:
continue
print("숫자를 제거한 문자열:", end=" ")
for i in str_input:
print(i, end=" ")
- 2차원 리스트 연습 문제
Q. 아래의 표를 참고하여 "학생 별" 총점과 평균을 구하라
A | B | C | D | E | |
국어 점수 | 49 | 79 | 20 | 100 | 80 |
수학 점수 | 43 | 59 | 85 | 30 | 90 |
영어 점수 | 49 | 79 | 48 | 60 | 100 |
#2차원 리스트를 만들어 "학생별" 총점, 평균 구하기
kor_score = [49, 79, 20, 100,80]
math_score = [43, 59, 85, 30, 90]
eng_score = [49, 79, 48, 60, 100]
midterm_score = [kor_score, math_score, eng_score]
mid_add = [0, 0, 0, 0, 0] #학생별 총점 저장
for row in midterm_score: #0 1 2
mid = 0 #mid_add 인덱스 > col 끝날때마다 리셋
for col in row: #0 1 2 3 4
mid_add[mid] += col
mid += 1
#학생별 총점 및 평균 출력
for i in range(len(mid_add)):
print(f'학생{i+1} 총점: {mid_add[i]}, 평균: {mid_add[i]//3}')
학생1 총점: 141, 평균: 47
학생2 총점: 217, 평균: 72
학생3 총점: 153, 평균: 51
학생4 총점: 190, 평균: 63
학생5 총점: 270, 평균: 90
Q. 4행 3열의 2차원리스트 선언하고 아래의 값으로 초기화 한 후 차례대로 출력한 후 "리스트의 모든 값을 더한" 결과를 출력하시오.
>> [[3, 5, 9], [2, 11, 5], [8, 30, 10], [22, 5, 1]]
double_list = [[3, 5, 9], [2, 11, 5], [8, 30, 10], [22, 5, 1]]
list_sum = 0
for row in double_list:
count = 0
for col in row:
count += 1
list_sum += col
if count == 3:
print(col)
else:
print(col, end=' ')
####### 인덱스 활용 출력 #######
for row in range(len(double_list)):
for col in range(len(double_list[row])):
print(double_list[row][col], end=' ')
list_sum += double_list[row][col]
print()
print("\n행렬의 합:", list_sum)
3 5 9
2 11 5
8 30 10
22 5 1
행렬의 합: 111
'Programming > Python' 카테고리의 다른 글
Numerical Python - numpy (0) | 2022.08.26 |
---|---|
[python] 파이썬 주사위 예제; list, set (0) | 2022.08.21 |
[python] 파이썬 예외 처리; try - except - else - finally (0) | 2022.08.12 |
[python] 파이썬 condition, loop 예제; 행렬, 별 (0) | 2022.08.08 |
[python] 파이썬 condition, loop 예제; 홀짝 (0) | 2022.08.08 |
Comments