| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- application.properties
- springmvc
- spring
- produces
- 비즈니스레이어
- 어노테이션
- .xml
- @RequestMapping
- PointCut
- 서비스레이어
- springjdbc
- 유효성검사
- 바인딩변수
- AOP
- 생성자주입
- 스프링
- c:if
- 의존주입
- gradle
- @RequestParam
- SpringBoot
- @
- Model
- MVC
- after-throwing
- Java
- @Valid
- jointpoint
- frontController
- @ResponseBody
- Today
- Total
메모장
파이썬 내장함수/메서드 [ 실습 ] 본문
# 실습 문제
1. 랜덤으로 1~5 사이의 정수를 생성해주세요.
2. 3 -> 3개의 정수를 사용자가 직접 입력합니다.
이때 입력하는 값은 0이상 100이하의 정수이며,
이 입력은 절대 틀리지않습니다.
3. 50 60 55 입력시,
3-1. 60점 1등 2번학생
3-2. 50점 3등 1번학생
이렇게 출력해주세요.
동점자 존재시 가장 마지막 학생을 출력합니다.
4. 사용자 정의 함수 func()을 사용하여
3명의 평균점수는 55.0점입니다.
이렇게 출력해주세요.
✔️ 슈도 코딩
1~5 사이의 랜덤으로 정수를 뽑는다.
뽑힌 정수만큼 배열 크기 생성 한다.
최대값 구하는 공식 사용 ! [0] 번 인덱스 번호를 최대값으로 가정 한다.
[0] 인덱스 최대값 보다 큰 수가 있다면 그 숫자가 최대값이 된다.
그때의 인덱스 위치를 알아야 하므로 index 현재 위치를 생성
동점자 일때는 가장 마지막 학생을 출력한다.
함수를 사용해서 뽑힌 정수의 배열 만큼의 점수를 입력 받은 상태의 평균을 구한다.
## 1~5 사이의 랜덤으로 정수를 뽑는다.
from random import randrange as r
number = r(1,6)
print('%d -> %d개의 정수를 입력하세요'%(number,number)) # 몇개가 생성되었는지 알려준다.
aList=[]
##뽑힌 정수만큼 배열 크기 생성 한다.
for i in range(1,number+1): # 생성된 개수에 따라 달라짐
userInput = int(input('%d번째 입력 :'% i))
aList.append(userInput)
sorted_aList = sorted(aList, reverse=True)
for i, score in enumerate(aList):
rank = sorted_aList.index(score) +1
print(f"{i+1}번 학생: {score}점, {rank}등")
# 합계
total = 0
def func():
global total
for i in aList:
total += i
func()
average = total / len(aList)
print(f"\n{number}명의 평균점수는 {average:.1f}점 입니다. ")
##함수를 사용해서 뽑힌 정수의 배열 만큼의 점수를 입력 받은 상태의 평균을 구한다.
⭐ 예전에 배웠던대로 최대값 구하는 공식을 사용 해보았지만 파이썬엔 이미 정렬이 가능한 함수들이 있다.
## 최대값 구하는 공식 사용 ! [0] 번 인덱스 번호를 최대값으로 가정 한다.
maxNum = aList[0]
index = 0
##[0] 인덱스 최대값 보다 큰 수가 있다면 그 숫자가 최대값이 된다.
##그때의 인덱스 위치를 알아야 하므로 index 현재 위치를 생성
##동점자 일때는 가장 마지막 학생을 출력한다. 같거나 클때
for i in range(1,len(aList)):
if maxNum <= aList[i]:
maxNum = aList[i]
index = i
⭐ 알아볼 함수 ⭐
✔️ sorted() 함수
▪️ 정렬할 때 사용하는 함수
▪️ reverse 옵션 (reverse 파라미터)
해당 파라미터를 이용하면 오름차순으로 정렬할지 내림차순으로 정렬할지 정할 수 있습니다.
디폴트로는 reverse=False로 오름차순으로 정렬이 됩니다.
sorted( ~~ , reverse=True)로 입력하게 되면 내림차순으로 정렬하여 반환합니다.
▪️ key 옵션 (key 파라미터)
sorted 함수의 key 파라미터는 어떤 것을 기준으로 정렬할 것인가? 에 대한 기준입니다.
즉, key 값을 기준으로 비교를 하여 정렬을 하겠다는 것인데, 이것을 정해 줄 수 있는 파라미터입니다.
sorted( ~~ , key=뭐뭐)로 입력하게 되면 해당 키를 기준으로 정렬하여 반환합니다.
✔️ enumerate() 함수
▪️ 리스트의 원소에 순서값을 부여해주는 함수
다른 풀이
# 실습 문제
##1. 랜덤으로 1~5 사이의 정수를 생성해주세요.
import random as r
def func(aList): # 인자를 넣으면 동작하도록
return sum(aList)/len(aList) # 총합구하는 함수 / List 길이 함수
randNum=r.randrange(1,6)
print('randNum=',randNum)
##2. 3 -> 3개의 정수를 사용자가 직접 입력합니다.
## 이때 입력하는 값은 0이상 100이하의 정수이며,
## 이 입력은 절대 틀리지않습니다.
numList=[]
for i in range(randNum):
num=int(input('0이상 100이하의 정수 입력: '))
numList.append(num)
print(numList)
##3. 50 60 55 입력시,
##3-1. 60점 1등 2번학생
##3-2. 50점 3등 1번학생
print('%d점 %d등 %d번학생' % (max(numList),1,1+numList.index(max(numList),0,len(numList))))
print('%d점 %d등 %d번학생' % (min(numList),randNum,1+numList.index(min(numList),0,len(numList))))
## 이렇게 출력해주세요.
## 동점자 존재시 가장 마지막 학생을 출력합니다.
##4. 사용자 정의 함수 func()을 사용하여
## 3명의 평균점수는 55.0점입니다.
## 이렇게 출력해주세요.
avg=func(numList) # 함수를 실행시키면 평균이 나온다.
print('%d명의 평균점수는 %.1f점입니다.' % (randNum,avg))
✔️ sum() 함수
✔️ max() , min() 함수
✔️ index() 함수
▪️ 인덱스 번호 위치를 찾아주는 함수
▪️ 가장 최근의 것을 찾아준다.
⭐ index() 함수를 이용한 해결
▪️ index는 바로 앞에 있는 값을 찾아내기 때문에 사용할 수 없었다
▪️ index라는 함수 자체가 어디서 부터 어디까지 보겠다 ! 이런건 되는데 무조건 앞에서 부터 본다.
#reverse() 내장함수를 활용하여 해결

1️⃣ 반대로 뒤집고
2️⃣ index 위치를 찾은다음
3️⃣ 다시 뒤집어서 원상복귀
'Python > 개념정리' 카테고리의 다른 글
| 파이썬 기온측정 csv 파일 [ 실습 ] (0) | 2024.05.07 |
|---|---|
| 파이썬 데이터 가져오기 (csv 파일) (1) | 2024.05.07 |
| 파이썬 모듈 ( module ) (0) | 2024.05.07 |
| 파이썬 내장함수/메서드 (0) | 2024.05.07 |
| 파이썬 파일 입출력 실습 (0) | 2024.05.07 |