알쏭달쏭 공부한거 쓰기
22 파이썬 기말 족보 본문
리스트 축약이나 딕셔너리 는 파이썬 끝까지 사용되니까 확실히 알아두세요
weather 따서 따로 만듦
학생파일 text에 만들어봄
문제 예시
1.generator 클래스 구현을 통해 랜덤 로또 번호 6개를 출력해라
2.학생정보 가진 텍스트 파일을 가지고 class를 만들어서 학생 리스트를 만들어야 함
3.학생 성씨가 몇번 나왔는지에 대한 횟수를 딕셔너리형태로 만 들어라
4.두 학생의 평균 점수가 같은지 누가더 큰지 뺀값은 얼마인지 클래스를 통해 구현
5. 대체 시험: 정수 입력받고 최대/최소 이때 예외 발생 처리
예상)
#1
import random as rd
def generation():
global a
a=[]
while len(a)<6:
n=rd.randint(1,100)
if n not in a:
yield n
a.append(n)
oc=generation()
for x in oc:
print(x)
print(a)
========================================================
import random as rd
def generation():
n=rd.sample(range(50),6)
a=iter(n)
yield a
oc=generation()
print(next(oc))
#2-클래스 만들어서 학생 리스트로 만들어서 sorted로 정렬하기 (lambda이용)
#3
class student:
def __init__(self,name,number):
self._name=name
self._number=number
def __repr__(self):
return f'이름:{self._name} 학번:{self._number}'
def __getnumber(self):
return self._number
with open('student.txt','r',encoding='utf8') as f:
a=f.readlines()
b=a[::2]
c=dict([(x.split()[1],x.split()[0]) for x in b])
students=[]
for i in c:
students.append(student(i,c[i]))
print(students)
print(sorted(students,key=lambda x:x._number))
names={}
for i in c:
if i[0] in names:
names[i[0]]+=1
else:
names[i[0]]=1
print(names)
#4번
일단 딕셔너리 형태로 점수 다 모아서 평균 점수되도록 values값에 넣고 ->이건 모르겠다.
__eq__ 이랑__gt__ 이랑 __sub__구현해서 비교하기
'파이썬 -23여름학기(ㄱㅎㅈ)' 카테고리의 다른 글
7/5일 복습-7/7일 진행 (0) | 2023.07.07 |
---|---|
23 파이썬 기말 족보 (0) | 2023.07.06 |
7/6 수업 내용 (0) | 2023.07.06 |
유튜브 -파이썬 , class (0) | 2023.07.06 |
23 여름 중간 풀이 (0) | 2023.07.05 |