'Code/Python'에 해당되는 글 12건

Code/Python

은행 계좌관리 프로그램.py

반응형

### 은행 계좌관리 프로그램

1. 클래스 구성
    - Account : 한 명의 고객의 계좌정보를 담아 관리할 목적으로 구현된 클래스
                멤버필드 : id(계좌번호), name(고객이름), balance(예금잔액)
                멤버메소드 : 판단에 의해 구현할 것
    - BankManager : 계좌정보를 이용하여 구현될 기능 담고있는 클래스
                    멤버필드: 판단에 의해 구현
                    멤버메소드: makeAccount() - 계좌개설 담당할 메서드
                                withdraw() - 출금처리 담당 메소드
                                deposit() - 입금처리를 담당할 메소드
                                check_id() - 계좌번호의 중복여부를 판단할 메소드
                                showAccount() - 전체고객의 계좌정보를 출력할 메소드
    - BankingSystem : 사용자와의인터페이스를 담당할 목적의 클래스
                      메버필드와 메소드는 판단에 의해 기술
2. 계좌번호는 사용자가 임의로 번호를 입력할 수 있도록 구현하되, 중복된 값이 있을 경우 에러 메시지 출력
3. 입금 및 출금 처리 시 계좌번호 먼저 묻고 해당 계좌의 존재유무에 의해 에러메시지 출력 또는 처리로직을 구현하도록 기술
4. 기타 조건은 주어진 입출력 형식에 맞게 구현
5. 둘 이상의 고객에 대한 정보를 담아서 관리 할 수 있도록 적당한 자료구조 활용, 또는 파일을 통한 입출력 가능
6. 모듈화(py 확장자 가진 파일 형태로 구현)하여 명령처리 가능하도록 구현
7. 기반 클래스 Account 는 제공하는 것을 사용하여도 좋고 본인 판단에 의해 새롭게 구현해도 됨

 

class Account: # 개인 계좌 관리
    def __init__(self):
        self.user = input("계좌번호 = ")
        self.name = input("고객이름 = ")
        self.balance = input("예금금액 = ")
        
    def disp(self):
        print("{0} : {1} : {2}".format(self.user, self.name, self.balance))
        
    def getid(self):
        return self.user
    
    def getBalance(self):
        return self.balance
    
        
class BankManager(Account):   # 여러 계좌 관리

    def one_user(self,user): # 한 고객의 정보 얻기 위해
        userlist = ""
        count = -1
        if self.check_user(user) == False: # 아이디 존재할 때
            try :
                f= open("account.txt","r")
            except FileNotFoundError as e: #
                pass
            else:
                for line in f:
                    count+=1
                    if user == line.split(",")[0]:
                        userlist= line
                        break
            finally:
                f.close()
        return count,userlist # 유저 정보 리턴
    
    def check_user(self,user): # - 계좌번호의 중복여부를 판단할 메소드
        check=True
        try :
            f= open("account.txt","r")
        except FileNotFoundError as e: #
            pass
        else:
            for line in f:
                if user == line.split(",")[0]: # 아이디 중복되면 break
                    check = False
                    break
        finally:
            f.close()
        return check
    
    def makeAccount(self):
        print("\n==== 계좌등록 ====")
        super().__init__()
        super().disp()
        result = self.check_user(super().getid())
        
        if result: # 참일때 txt파일에 저장
            try :
                f= open("account.txt","a")
            except FileNotFoundError as e: # 파일 존재하지 않을 때 새로 만들기
                f= open("account.txt","w") 
            finally:
                f.write(self.user+","+self.name+","+self.balance+"\n")
                f.close()
        else : # 거짓일 때 중복됬다고 알리기
            print("id가 중복됩니다. 다시 입력해주세요")
        print("===================")
        
        
    def showAccount(self): # - 전체고객의 계좌정보를 출력할 메소드
        userlist = []
        try :
            f= open("account.txt","r")
        except FileNotFoundError as e: #
            print("고객이 없습니다,")
        else:
            for line in f:
                userlist.append(line)
        finally:
            f.close()
        return userlist
        
    
class BankingSystem(BankManager):
    num = 0
    def __init__(self,num):
        self.num=int(num)
        
    def controler(self):
        if self.num == 1:
            super().makeAccount()
        elif self.num == 2:
            self.printdeposit()
        elif self.num == 3:
            self.printwithdraw()
        elif self.num == 4:
            self.printshow()
       
            
    def printwithdraw(self):
        print("==== 출금처리====") #- 출금처리 담당 메소드
        user = input("계좌번호 = ")
        count,userlist = self.one_user(user)
        print("===================")
        if userlist != "":
            user,username,userbalance = userlist.split(',')
            print("{0} : {1} : {2}".format(user,username,userbalance))
            print("===================\n")
        
            try:
                price = int(input("출금금액 = "))
                
            except ValueError as e:
                print("잘못입력하셨습니다")
            else :
                if (int(userbalance)-int(price)) < 0:
                    print("고객님 계좌의 잔액이 부족합니다.")
                else :
                    self.change_draw(user,username,int(userbalance)-price,count)
                    print("출금처리가 완료되었습니다.")
        else :
            print("일치하는 계좌번호가 존재하지 않습니다.")
        print("===================")
        
    def change_draw(self,user,username,userbalance,count):
        f = open("account.txt","r+")
        for i in range(0,count):
            f.readline()
        f.seek(f.tell(),0)
        f.writelines(user+","+username+","+str(userbalance)+"\n")
        f.close()
        
    def change_deposit(self,user,username,userbalance,count):
        f = open("account.txt","r+")
        for i in range(0,count):
            f.readline()
        f.seek(f.tell(),0)
        f.writelines(user+","+username+","+str(userbalance)+"\n")
        f.close()
        
    def printdeposit(self):
        print("==== 입금처리====") #- 입금처리 담당 메소드
        user = input("계좌번호 = ")
        count,userlist = self.one_user(user)
        print("===================")
        if userlist != "":
            user,username,userbalance = userlist.split(',')
            print("{0} : {1} : {2}".format(user,username,userbalance))
            price = 0
            print("===================\n")
            try:
                price = int(input("입금금액 = "))
            except ValueError as e:
                print("잘못입력하셨습니다")
            else :
                self.change_deposit(user,username,int(userbalance)+price,count)
                print("입금처리가 완료되었습니다.")
        else :
            print("일치하는 계좌번호가 존재하지 않습니다.")
        print("===================")
        
    def printshow(self):
        print("==== 전체고객====") #- 전체고객 조회 메소드
        userlist = super().showAccount()
        for i in range(0,len(userlist)):
            a,b,c = userlist[i].split(",")
            print("{0} : {1} : {2}".format(a, b, c),end="")
        print("===================")
      
    

if __name__ == "__main__":
    while True:
        print("==== Bank Menu ====")
        print("1. 계좌개설")
        print("2. 입금처리")
        print("3. 출금처리")
        print("4. 전체고객 잔액현황")
        print("5. 프로그램 종료")
        print("===================")
        try:
            num = int(input("선택 = "))
        except ValueError as e:
            print("잘못입력하셨습니다")
        
        else :
            if num == 5:
                break
            else :
                b = BankingSystem(num)
                b.controler()
        
반응형

'Code > Python' 카테고리의 다른 글

급여관리.py  (0) 2019.07.25
숫자야구파일.py  (0) 2019.07.25
주소록 관리 프로그램.py  (0) 2019.07.24
슬라이스  (0) 2019.07.10
시퀀스 자료형  (0) 2019.07.10
Code/Python

급여관리.py

반응형
[급여관리] - python 상속관계 알기 위해 

# 급여관리 
# A 라는 회사 직원급여 관리를 목적으로 프로그램 구현
# 정규직(permament) : 이름, 급여(기본급)
# 영업직(Sales) : 이름, 급여(기본급 + 수당)
# 임시직(Temparary) : 이름, 급여(근무시간 * 시간당 급여)

class Employee():
    def __init__(self, name=""):
        self.name = name
    def show(self):
        pass
class Permament(Employee):
    def __init__(self, name="", pay=0):
        super().__init__(name)
        self.pay = pay
    def show(self):
        print("정규직/",self.name,"/",self.pay)
class Sales(Employee):
    def __init__(self, name="", pay=0,bonus=0):
        super().__init__(name)
        self.pay = pay
        self.bonus=bonus
    def show(self):
        print("영업직/",self.name,"/",self.pay+self.bonus)
class Temparary(Employee):
    def __init__(self, name="", time=0,timepay=0):
        super().__init__(name)
        self.time = time
        self.timepay=timepay
    def show(self):
        print("임시직/",self.name,"/",self.time*self.timepay)
반응형

'Code > Python' 카테고리의 다른 글

은행 계좌관리 프로그램.py  (0) 2019.07.25
숫자야구파일.py  (0) 2019.07.25
주소록 관리 프로그램.py  (0) 2019.07.24
슬라이스  (0) 2019.07.10
시퀀스 자료형  (0) 2019.07.10
Code/Python

숫자야구파일.py

반응형
[숫자야구게임]

# 숫자야구게임



import random

randomnum = []



a = random.randint(1, 9) 

b = random.randint(1, 9)

while a==b:

    b = random.randint(1, 9) 

c = random.randint(1, 9) 



while a==c or b==c:

    c = random.randint(1, 9) 

    

randomnum.append(a)

randomnum.append(b)

randomnum.append(c)

result = True



while result:

    st = 0

    ball = 0

    lnputlist = []

    a,b,c = map(int,input('숫자 세 개를 입력하세요: ').split())



    lnputlist.append(a)

    lnputlist.append(b)

    lnputlist.append(c)

    

    for i in range(0,len(lnputlist)) :

        if lnputlist[i] in randomnum:

            ball+=1

            if lnputlist[i] == randomnum[i]:

                st+=1

                if ball > 0:

                    ball-=1

                else :

                    ball = 0

    print("스트라이크:",st, "볼:",ball)

    if st == 3:

        result=False
반응형

'Code > Python' 카테고리의 다른 글

은행 계좌관리 프로그램.py  (0) 2019.07.25
급여관리.py  (0) 2019.07.25
주소록 관리 프로그램.py  (0) 2019.07.24
슬라이스  (0) 2019.07.10
시퀀스 자료형  (0) 2019.07.10
Code/Python

주소록 관리 프로그램.py

반응형


1. main menu
- 연락처 등록
- 연락처 조회 
- 연락처 삭제 : 이름으로 검색 후 동일 이름 전화번호 출력시켜서 삭제할 이름의 번호 입력하면 삭제되도록
- 연락처 출력
- (연락처 변경도 해보자)
- 프로그램 종료

2. 등록
- 이름
- 연락처
- 이메일

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
user = []
def start():
 
    while True:
        num = int(input("\n연락처 메뉴 [1.등록   2.조회   3.삭제   4.출력  5.수정  6.종료]   선택 = "))
        if num == 1:
            print("\n================= 연락처 등록 ================")
            user.append(Address())
        elif num == 2:
            name = input("조회할 이름을 입력하세요 : ")
            print("\n================= 연락처 조회 ================")
            if not user_print(name):
                print("\n조회 결과가 없습니다.")
        elif num == 3:
            print("\n================= 연락처 삭제 ================")
            name = input("\n삭제할 이름을 입력하세요 : ")
            if user_print(name):
                delnum = int(input("\n삭제할 번호를 입력하세요 :"))
                del(user[delnum-1])
                print("\n삭제되었습니다.")
        elif num == 4:
            print("\n================= 연락처 전체 조회 ================")
            if len(user) != 0 :
                user_print("all")
            else :
                print("\n조회 결과가 없습니다.")
        elif num == 5:
            print("\n================= 연락처 수정 ================")
            name = input("\n변경할 이름을 입력하세요 : ")
            if user_print(name):
                delnum = int(input("\n변경할 번호를 입력하세요 :"))
                chnum = int(input("\n변경할 항목 선택 (1. 이름, 2. 전화번호, 3.이메일) : "))
                if chnum == 1:
                    user[delnum-1].setname(input("변경 이름 : "))
                elif chnum == 2:
                    user[delnum-1].settell(input("변경 전화번호 : "))
                elif chnum == 3:
                    user[delnum-1].setemail(input("변경 이메일 : "))
                else:
                    print("\n잘못입력하셨습니다")
            else:
                print("\n변경할 이름이 없습니다.")
        elif num == 6:
            break
        else:
            print("다시 입력하세요")
            
def user_print(name):
    if name == "all":
        for i in range(0len(user)):
            print(i+1,end=" ")
            user[i].disp()
        return
    else:
        for i in range(0len(user)):
            if user[i].name == name :
                print(i+1,end=" ")
                user[i].disp()
        return True
    return False
    
class Address:
    def __init__(self):
        self.name = input("이름 입력 : ")
        self.tell = input("전화번호 입력 :")
        self.email = input("이메일 입력 :")
    def setname(self, name):
        self.name = name
    def settell(self, tell):
        self.tell = tell
    def setemail(self, email):
        self.email = email
    def disp(self):
        print(self.name," ",self.tell," ",self.email)
        
if __name__ == "__main__":
    start()
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
 
반응형

'Code > Python' 카테고리의 다른 글

급여관리.py  (0) 2019.07.25
숫자야구파일.py  (0) 2019.07.25
슬라이스  (0) 2019.07.10
시퀀스 자료형  (0) 2019.07.10
리스트, 튜플  (0) 2019.07.10
Code/Python

슬라이스

반응형

 

전 게시글과 이어지는 작업으로 시퀀스 자료형 사용함

 

- 슬라이스(slice) : 무엇인가의 일부를 잘라낸다는 뜻으로 시퀀스 일부를 잘라냄

ex ) 시퀀스객체 [ 시작인덱스 : 끝 인덱스]

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[0:4]	#0에서 3까지 잘라서 새 시퀀스 만듦
#결과 [0,10,20,30]

 

 

- 리스트 중간부분 가져오기 

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[4:7]	# 4에서 6까지 잘라서 새 시퀀스 만듦
#결과 [40,50,60]

>>> a[4:-1]	# 4에서 -1(마지막값)이므로 -2까지만 뽑아서 새 시퀀스 만듦
#결과 [40,50,60,70,80]

 

 

- 인덱스 증가폭 사용 : 인덱스의 증가폭을 지정하여 범위 내에서 인덱스를 건너뛰며 요소를 가져올 수 있음

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[2:8:3]	# 2부터 7까지 값 가져오는데 인덱스가 3씩 증가
#결과 [20,50]

 

 

- 인덱스 생략하기 : 시작 인덱스 혹은 끝 인덱스를 생략하면 맨 처음부터 / 맨 끝까지 돌아갈 때 사용 

                         객체 길이 몰라도 사용할 수 있음

 

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[:7]	#0에서 6까지 잘라서 새 시퀀스 만듦
#결과 [0,10,20,30,40,50,60]

>>> a[7:]	# 7에서 끝까지 요소 가져옴
#결과 [70,80,90]

 

 

- 인덱스 생략하면서 증가폭 사용

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[:7:2]	#0에서 6까지 인덱스는 2씩 증가하여 0,2,4,6
#결과 [0,20,40,60]

>>> a[7::2] # 7부터 끝까지 2씩 증가
#결과 [70,90]

>>> a[::2]	#0부터 끝까지 2씩 증가
# [0,20,40,60,80]

>>> a[:::]	#0부터 끝까지 출력
# [0,10,20,30,40,50,60,70,80,90]

 

- len 응용하기 

>>> a = [0,10,20,30,40,50,60,70,80,90]
>>> a[0:len(a)]	#0에서 a의 길이까지 -> -1 이 되기때문에 마지막 인덱스 가르킴
#결과 [0,10,20,30,40,50,60,70,80,90]

 

- 리스트, 튜플, range, 문자열에 모두 사용 가능

- 수정, 삭제는 리스트만 가능하며, 삭제 시 리스트는 새로 시퀀스를 생성하는 것이 아니라 기존 객체에 저장됨

 

 

반응형

'Code > Python' 카테고리의 다른 글

숫자야구파일.py  (0) 2019.07.25
주소록 관리 프로그램.py  (0) 2019.07.24
시퀀스 자료형  (0) 2019.07.10
리스트, 튜플  (0) 2019.07.10
문자열 사용하기  (0) 2019.07.10
Code/Python

시퀀스 자료형

반응형

 

시퀀스 자료형 :  연속적으로 이어진 자료형 (리스트, 튜플, range, 문자열 등)

 

 

- 특정 값 존재 여부 : 값 in 시퀀스 객체       or      값 not in 시퀀스 객체

>>> a = [1,10,20,30,40,50,60,70,80,90]
>>> 30 in a
#결과 True

>>> 1 in range(10)
#결과 True

 

 

- 시퀀스 객체 연결하기 : 변수를 만들지 않고 직접 연결 가능하여, 서로 연결하여 새 객체 생성

대신, range는 + 연산자를 통하여 객체르 생성 할 수 없음 -> range를 리스트 혹은 튜플로 만들어서 연결

>>> a = [1,10,20,30]
>>> b = [40,50,60,70,80,90]
>>> a+b
#결과 [1,10,20,30,40,50,60,70,80,90]

 

 

- 시퀀스 객체 반복하기 : * 연산자는 시퀀스 객체를 특정 횟수만큼 반복하여 새 시퀀스 만든다. 

(0 혹은 음수를 곱하면 빈 객체 만들고, 실수는 곱할 수 없음)

>>> [0,1,2] * 2
#결과 [0,1,2,0,1,2,0,1,2]

 

 

- 시퀀스 객체의 요소 개수 구하기 : len() 함수를 이용하여 개수 구할 수 있음

>>> len(a) 
>>> len(range(0,10,2))
>>> len('hello,world')

 

 

- 인덱스 사용하기  : 시퀀스의 객체의 각 요소는 순서가 정해져있음 -> 이 순서를 인덱스라고 함

[]를 사용하여 [] 안에 인덱스 지정하면 해당 요소에 접근 가능        ex) 시퀀스객체 [ 인덱스 ]

>>> a = [1,2,3]
>>> a[0]
#결과 1
>>> a[-1]
#결과 3

- range, 리스트 , 튜플, 문자열 모두에 사용 가능

- 인덱스는 0부터 사용 

- 음수는 뒤에서부터 요소 접근하여 마지막 값이 -1, 그 전 값이 -2 .. 이런 형태로 됨

- 인덱스 범위 벗어나면 IndexError 뜸

 

 

- 요소 수정하기 : 시퀀스객체[인덱스]  = 값

- 튜플과 range 문자열 변경 불가 

 

 

- del 요소 삭제 : 시퀀스 객체 요소를 삭제함         ex) del 시퀀스개개체[인덱스]

- 튜플과 range와 문자열 삭제 불가

 

 

반응형

'Code > Python' 카테고리의 다른 글

주소록 관리 프로그램.py  (0) 2019.07.24
슬라이스  (0) 2019.07.10
리스트, 튜플  (0) 2019.07.10
문자열 사용하기  (0) 2019.07.10
불과 비교, 논리 연산자  (0) 2019.07.10
Code/Python

리스트, 튜플

반응형

 

리스트 (List) : 목록이란 뜻으로 값들을 일렬로 저장한 것

리스트 이름 = [값, 값, 값]

- 여러 가지 자료형 저장 가능 : [문자열, 숫자, 정수, 불] 을 리스트 하나에 생성 가능

 

- range() : 연속된 숫자를 생성하는데 사용. 지정한 횟수 숫자는 생성되는 숫자에 포함되지 않음

>>> a = list(range(10))
>>> a

#결과 [0,1,2,3,4,5,6,7,8,9]

range(10) : 0 ~ 9까지의 값을 순차적으로 출력

 

>>> c =  list(range(-4, 10, 2))
>>> c

#결과 [-4,-2,0,2,4,6,8]

range(시작, 끝. 증가폭) : 처음 시작 값부터 (끝 - 1 ) 까지의 수를 2씩 증가하는 인덱스로 뽑아옴

 

 

- 튜플(tuple) : 리스트처럼 요소를 일렬로 저장하지만, 안에 저장된 요소를 변경 , 추가, 삭제를 할 수 없다.

튜플  = (값, 값, 값)

 

>>> a = (1,2,3,4,5)
>>> a 

#결과 (1,2,3,4,5)

* 리스트와 차이점 : 리스트는 []를 사용하며 안에 요소 변경 추가 삭제 가능,  튜플은 ()사용하며, 안에 요소 변경 불가

 

- range 사용하여 튜플 만들기

>>> a = tuple(range(10))
>>> a 

#결과 (0,1,2,3,4,5,6,7,8,9)

 

- 튜플을 리스트로 만들고 리스트를 튜플로 만들기

>>> a = [1,2,3]		#리스트
>>> tuple(a)		#튜플
#결과 (1,2,3)

>>> b = (4,5,6)		#튜플
>>> list(b)		#리스트
#결과 [4,5,6]

tuple() 과 list()를 사용하며, 튜플은 값을 변경할 수 없어 그래도 사용해야 함

 

 

 

반응형

'Code > Python' 카테고리의 다른 글

슬라이스  (0) 2019.07.10
시퀀스 자료형  (0) 2019.07.10
문자열 사용하기  (0) 2019.07.10
불과 비교, 논리 연산자  (0) 2019.07.10
변수와 입력 사용  (1) 2019.07.09
Code/Python

문자열 사용하기

반응형

 

- print를 통해 문자 혹은 문자열을 출력한다.

 

- 문자열 사용하기 

>>> hello = '안녕하세요'
>>> hello
#결과 안녕하세요

 

- 여러줄의 문자열 출력하기 ''' ''' 혹은 """ """

hello = '''hello,world
python
입니다.'''

#결과
hello,word
python
입니다.

-> 줄 띄움을 \n으로 인식하여 출력함

 

-문자열 안에 작은 따옴표 혹은 큰 따옴표 포함하기  ' " " ' 혹은 " ' ' "

>>> s = 'He said "python is easy"'
>>> s

#결과 He said "python is easy"

 

 

반응형

'Code > Python' 카테고리의 다른 글

시퀀스 자료형  (0) 2019.07.10
리스트, 튜플  (0) 2019.07.10
불과 비교, 논리 연산자  (0) 2019.07.10
변수와 입력 사용  (1) 2019.07.09
기본 문법  (0) 2019.07.09
Code/Python

불과 비교, 논리 연산자

반응형

 

- boolean : 참(true)와 거짓(false) 

비교 연산자와 논리 연산자의 판단 결과로 True, False를 사용함 -> 연산 결과 맞으면 True 아니면 False 반환

>>> 10 == 10
#결과 True

>>> 'Python' == 'python'
#결과 False

>>> 1 == 1.0
#결과 True
#-> 값 자체를 비료

>>> 1 is 1.0
#결과 False
#->객체를 비교하여 정수와 실수가 다르기 때문에 False 반환

 

 

- 논리 연산자 : and, or, not (부정) 사용

>>> 10 == 10 and 10 != 5
#결과 True

>>> 10 > 5 or 10 < 3
#결과 True

>>> not 10>5
#결과 False

>>> not 1 is 1.0
#결과 True

 

 

반응형

'Code > Python' 카테고리의 다른 글

리스트, 튜플  (0) 2019.07.10
문자열 사용하기  (0) 2019.07.10
변수와 입력 사용  (1) 2019.07.09
기본 문법  (0) 2019.07.09
Python 설치하기  (0) 2019.07.09
Code/Python

변수와 입력 사용

반응형

 

- 인터프리터 언어로 한줄 쓰고 엔터치면 결과 화면에 출력됨

 

 

 

변수 : 데이터 타입이 필요 없이 변수 명만 선언하고 값을 입력할 수 있다.

변수이름 = 값             ex) x = 10

x라는 변수 이름에 10이라는 숫자형태의 값을 넣는다는 의미

 

- 명명 규칙

: 영문자와 숫자 사용가능, 대소문자 구분함, 문자로 시작하며 숫자로 시작 불가, _로 시작 가능, 특수문자 사용 불가, 파이썬 키워드 사용 불가

 

- 변수 여러 개를 한 번에 만들기

ex)     x, y, z = 10, 20, 30          or x = y = z = 10    (같은 값 입력 할 때)

 

- 두 변수 값 바꾸기 : 기본 프로그래밍에서는 임시변수를 만들어 저장하고 값을 바꾸어 주었다.

                            파이썬은 x, y = y, x 을 통하여 변경 가능

 

>>> a = 10
>>> b = 10
>>> c = a+b
>>> c

 -> a 와 b가 더해진 c가 출력이 된다.

 

 

 

- 입력 사용 : input() 함수를 사용하여 사용자에게 입력 값 받음

x = input()   -> 사용자에게 입력받은 값을 x에 넣는 의미

x = input('숫자를 입력하세요 ; ') -> 사용자에게 숫자를 입력하세요 : 커서로 보여지며 입력할 수 있도도록 함

 

하지만 사용자가 숫자를 입력하더라도 x에는 문자형태로 들어가기 때문에 타입변환이 필요하다.

 

 

- 숫자로 타입변환

x = int( input('숫자를 입력하세요 ; ') ) -> 입력 되는 값이 숫자로 저장됨

a = map(int, input('숫자를 두개 입력하세요').split()   -> map()을 통하여 int 혹은 float로 변환 가능

 

 

 

- 입력 값을 두 변수에 저장

x, y = input().split('기준 문자열') -> 사용자에게 입력 받은 값을 기준 문자열로 나누어 x, y 에 저장

>>> a , b = input('문자열 두개 입력하세요 :').split()
>>> print(a)
>>> print(b)


#출력 화면
문자열 두개 입력하세요 : hello python
hello
python

 

 

 

- 출력 : 변수 여러개 넣을 시 , 를 통하여 구분

>>> print(1,2,3)
1 2 3
>>> print('hello', 'python')
hello python

 

- sep을 통하여 값 사이에 문자 넣기

print(값1, 값2, sep = '문자 또는 문자열')

 

>>> print(1,2,3, sep=',')

#출력 결과
1,2,3

 출력할 문자 1 2 3  사이에 , 구분자를 넣어준다는 뜻으로 안에 \n, - , x 등등을 넣을 수 있음

 

- end를 통하여 print 로 출력한 문자 끝에 들어갈 문자를 정의합니다.

>>> print(1,end='')
>>> print(2,end='')
>>> print(3)

#출력 화면
123

원래 print를 사용하면 

1

2

3

이렇게 줄이 띄어져서 출력되는 것을  end = '' 을 통하여 한줄로 묶어줌

 

 

반응형

'Code > Python' 카테고리의 다른 글

리스트, 튜플  (0) 2019.07.10
문자열 사용하기  (0) 2019.07.10
불과 비교, 논리 연산자  (0) 2019.07.10
기본 문법  (0) 2019.07.09
Python 설치하기  (0) 2019.07.09
 [ 1 ]  [ 2 ] 

푸터바

태그

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

  • Today :
  • Yesterday :
  • Total :