/
day2main.py
84 lines (68 loc) · 2.26 KB
/
day2main.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import openpyxl
from openpyxl.chart import BarChart, Reference
myDataList=[]
def input_data():
print("1.입력")
input_continue = 'y'
while input_continue != 'n':
name = input("이름:")
korean = int(input("국어:"))
english = int(input("영어:"))
myDataList.append({'name':name, 'korean':korean, 'english':english})
input_continue = input("계속 입력하시겠습니까(y/n)?")
if input_continue =='y':
continue
else:
break
def print_data():
print("2.출력")
#print("--------------------------")
print("-"*30)
print(" 이름 국어 영어 ")
#print("--------------------------" )
print("-"*30)
for n in myDataList:
print("%(name)5s %(korean)5d %(english)5d" % n )
def save_excel_data():
count = 0
wb=openpyxl.Workbook()
ws1=wb.active
ws1=wb.create_sheet("mysheet2")
ws1.append(['이름','국어','영어'])
for n in myDataList:
count += 1
ws1.append([n['name'],n['korean'],n['english']])
#Chart 1
chart1 = BarChart()
chart1.style=11
chart1.title='Bar chart'
chart1.x_axis.title='이름'
chart1.y_axis.title='점수'
data = Reference(ws1, min_col=1, min_row=1, max_row=count+1, max_col=3)
cat = Reference(ws1, min_col=1, min_row=2, max_row=count+1)
chart1.add_data(data, titles_from_data=True)
chart1.set_categories(cat)
ws1.add_chart(chart1, 'F1')
wb.save('day2result.xlsx')
print('write...done')
def print_menu():
print("메인메뉴)")
print(" 1.입력")
print(" 2.출력")
print(" 3.엑셀저장(이름별 성적 바차트포함)")
print(" 4.종료")
return int(input("번호를 입력하세요:"))
# print("메인메뉴","1.입력","2.입력","3.출력","4.종료", sep="\n")
def main():
while True:
select = print_menu()
if select == 1:
input_data()
elif select == 2:
print_data()
elif select == 3:
save_excel_data()
elif select == 4:
break
if __name__ == '__main__':
main()