[python符号化練習]チュートリアル、ディクソン練習問題


* 회사 쇼핑몰 고객의 아이디에 부여된 마일리지 포인트를 딕셔너리에 저장하여 관리하고자 한다.
  다음 물음에 답하시오.  (1번~4번 문제)
ID kim 99 lee 66 han 55 hong 77 hwang 33マイルポイント120000100000000 50000018000
Q1. 上記の表に表示されているアイデンティティとポイントをディックマニュアルに保存し、プログラム出力を作成してください.
👉 실행 결과
1. 아이디 : kim99, 마일리지: 12000점
2. 아이디 : lee66, 마일리지: 11000점
3. 아이디 : han55, 마일리지: 3000점
4. 아이디 : hong77, 마일리지: 5000점
5. 아이디 : hwang33, 마일리지: 18000점
✍ 문제 풀이
shop = {'kim99': 12000, 'lee66': 11000, 'han55': 3000, 'hong77': 5000, 'hwang33': 18000}
num = 1

for k in shop: # k = key
    print(f'{num}. 아이디: {k}, 마일리지: {shop[k]}점')
    num += 1
Q2. ID「han 55」のマイル数を5000分に更新し、プログラムを作成して更新情報を出力します.
👉 실행 결과
han55님의 마일리지가 5000점으로 수정되었습니다.
✍ 문제 풀이
shop['han55'] = 5000

for k in shop:
    if k == 'han55':
        print('%s님의 마일리지가 %s점으로 수정되었습니다.' % (k, shop[k]))
Q3. ディックシリーズにアイデンティティ「jang 88」とマイル数7000を追加し、プログラムを作成して完全なディックシリーズと追加したデータを出力します.
👉 실행 결과
전체 딕셔너리 : {'kim99': 12000, 'lee66': 11000, 'han55': 3000, 'hong77': 5000,
               'hwang33': 18000, 'jang88': 7000}
jang88님의 마일리지(7000점)가 추가되었습니다.
✍ 문제 풀이
shop['jang88'] = 7000

for k in shop:
    if k == 'jang88':
        print('전체 딕셔너리 : %s' % shop)
        print('%s님의 마일리지(%s점)가 추가되었습니다.' % (k, shop[k]))
Q4. プログラムを作成し、ディック郡の最高マイルを見つけて出力します.
👉 실행 결과
hwang33님의 18000점이 가장 높은 점수입니다.
✍ 문제 풀이
# 마일리지(shop의 vaule)만 리스트에 저장해서 최댓값 추출
score = []

for k in shop:
    score.append(shop[k])
    
result = max(score) # result에 최댓값 저장

# 최댓값을 가진 회원 추출
for k in shop:
    if shop[k] == result:
        result_key = k
        
print('%s님의 %d점이 가장 높은 점수입니다.' % (result_key, result))
* 다음은 어느 지역의 일주일 간의 최고 기온을 나타낸 것이다. 다음 물음에 답하시오.  (5~8번 문제)
月曜日の火水木金土の日の最高気温は25.528.33.3232.117.335.33.33です.
Q5. テーブルのデータをディレクトリに保存し、出力プログラムを作成してください.
👉 실행 결과
--------------------------------------------------
 월   화   수   목   금   토   일
-------------------------------------------------- 
25.5 28.3 33.2 32.1 17.3 35.3 33.3
--------------------------------------------------
✍ 문제 풀이
temp = {'월': 25.5, '화': 28.3, '수': 33.2, '목': 32.1, '금': 17.3, '토': 35.3, '일': 33.3}

print('-' * 50)

for k in temp:
    print(k, end='   ')
    
print()
print('-' * 50)
    
for k in temp:
    print(temp[k], end=' ')
    
print()
print('-' * 50)
Q6. ディック郡州で最も低い最高気温を見つけて印刷するプログラムを作成します.
👉 실행 결과
가장 낮은 최고 기온 : 17.3˚
✍ 문제 풀이
# 리스트에 딕셔너리의 value만 넣어서 최솟값 추출
temp_list = []

for k in temp:
    temp_list.append(temp[k])
    
result = min(temp_list)
print('가장 낮은 최고 기온 : %.1f˚' % result)
Q7. ディック郡では、1週間の最高気温は30度です.˚ 1週間以上の印刷プログラムを作成してください.
👉 실행 결과
기온이 30˚ 이상인 요일 : 수, 목, 토, 일
✍ 문제 풀이
result = []

for k in temp:
    if temp[k] >= 30:
        result.append(k)

print('기온이 30˚ 이상인 요일 :', end='')

for r in range(len(result)):
    if r == len(result)-1:  # 마지막 요일은 , 표시 X
        print(result[r], end='')
        
    else:
        print(result[r], end=', ')
Q8. ディック郡でプログラムを作成し、1週間以内の最高気温の平均値を求めてください.
👉 실행 결과
일주일간 최고 기온의 평균 : 29.3˚
✍ 문제 풀이
s = 0  # 합계를 저장할 변수(sum)

for k in temp:
    s += temp[k]
    
avg = s/len(temp)  # 평균

print('일주일간 최고 기온의 평균 : %.1f˚' % avg)