11 파이썬 - 컴퓨터앱
기능 함수 구현 - 숫자넣기
num_input를 만들어 봅시다. 이름에서 알 수 있듯이 이 함수는 숫자를 입력해주는 버튼입니다.
[ 3 ]을 누르고 [ 5 ]를 누른다면 숫자는 35가 되어야 하죠? 우리가 알고 있는 [ + ] 기호를 사용하면 되지 않을까요?
Python
# 숫자와 소수점 처리
def num_input(self, who) :
# 현재 값이 0일 경우 숫자를 누르면 그 숫자가 바로 입력.
if self.new == '0' :
self.new = who
else :
self.new = self.new + who
self.updateUi(self.new)who에는 사용자가 누른 버튼의 값이 담겨 있습니다. 만약 기존의 값이 0이었다면 아무 값도 없는 것이었기 때문에 방금 누른 버튼의 숫자만 넣어 주면 됩니다. 만약 다른 숫자가 있었다면 그 숫자와 문자열 더하기를 해주어야 합니다. [ 3 ]을 누르고 [ 5 ]를 누르면 숫자 8이 아니라 "35"가 표시되어야 하기 때문이죠. new에는 누적되고 있는 숫자의 문자열이 담겨 있습니다.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 숫자와 소수점 처리
def num_input(self, who) :
# 소수점일 경우 현재 값에 소수점이 없을 때만 소수점 입력.
if who == '.' :
if '.' not in self.new :
self.new = self.new + who
else :
# 현재 값이 0일 경우 숫자를 누르면 그 숫자가 바로 입력.
if self.new == '0' :
self.new = who
else :
self.new = self.new + who
self.updateUi(self.new)만약 [ . ] 버튼을 누른다면 어떻게 해야 할까요? 기존에 값이 있든 없든 " . "을 추가해주면 됩니다.
혹시 기존에 있던 값에 이미 " . "이 있는지만 걸러주면 되겠죠? 소수점이 두 개인 숫자는 없으니까요!