Q. 저번 연습문제와 똑같이 '번호, 이름, 국,영,수,총,평'을 출력해보자.

 

datas={}
num=1    #번호
titles=['번호','이름','국어','영어','수학','총합','평균']

for i in range(0, 3):
    s={}    #한 사람의 정보를 담을 딕셔너리
    total = 0   #현재 학생의 총점
    for j in range(1, 5):  #1번방:이름, 5번방:수학
        val = input(titles[j])   #input('이름')
        if j !=1:    #입력하는게 이름이 아니면(1번방:이름)
            val = int(val)    #점수를 int로 해주지 않으면 '54'이렇게 문자열로 입력됨.
            total += val
        s[titles[j]]=val
    s[titles[j+1]]=total
    s[titles[j+2]]=total /3
    datas[num]=s
    num += 1


for i in titles:
    print(i, end='\t')     #print('번호\t국어\t영어\t수학\t총점\t평균')
print()

nums = datas.keys()    #nums:[1,2,3]
for i in nums:
    dic = datas[i]
    for key in titles:
        if key =='번호':
            print(i,end='\t')
        else:
            print(dic[key],end='\t')
    print()

out)

 

 

마지막 단락 (출력하는 부분)

items = datas.items()
for i in titles:
    print(i, end='\t')
print()
for i in items:
    print(i[0], end='\t')
    for j in range(1,len(titles)):
        print(i[1][titles[j]], end='\t')
    print()

이렇게 짜도 된다. 

+ Recent posts