본문 바로가기
개발

[파이썬&루비] 입력과 출력(input/output)

by 마스터누누 2017. 5. 29.
728x90
반응형

입력과 출력(input/output)



우리가 살아가는 환경에서 입력과 출력은 흔히 볼수 있는 메커니즘이다.

자판기에서 동전을 넣으면 상품이 나오는 것, 밥을 먹으면 노폐물로 배출되는 것,

게임에서 조작키를 누르면 컴퓨터가 결과값을 화면으로 출력하는 것 들이 모두 입/출력이다.


이번시간에는 이러한 입력과 출력, 그 중에서 입력을 좀 더 자세히 알아보도록 하자.





1
2
3
4
5
6
7
8
#python
in_str = input("입력해주세요.\n")
print(in_str.upper()+" World!")
 
#ruby
puts("입력해주세요")
in_str = gets.chomp()
puts(in_str.upcase() + " World!")
cs


파이썬에서는 input 명령어를 이용해서 입력을 받게된다.

이 때 input 안에 들어가는 문자열은 print와 마찬가지로 콘솔창에 정보를 출력하며,

이 후에 사용자로부터 입력을 받는다.

그리고 input으로 들어온 값을 in_str 변수에 저장했는데 

이를 이용해서 문자열의 조작이나 연산, 재 출력이 가능하다.


루비에서는 별도로 input 함수에서 출력을 해줄수 없으므로 puts를 사용해서 안내문을 출력한다.

그리고 입력을 받기 위해서 gets.chomp()를 사용한다.

gets나 .chomp에 대해서는 나중에 설명하도록 하겠다.

루비에서도 동일하게 in_str 변수에 입력값을 저장하고 다시 대문자로 변환하여 재출력한다.





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#python
in_str = input("아이디를 입력해주세요.\n")
real_user1 = "11"
real_user2 = "ab"
if real_user1 == in_str:
  print("Hello!, user1")
elif real_user2 == in_str:
  print("Hello!, user2")
else:
  print("Who are you?")
 
#ruby
puts("아이디를 입력해주세요")
input = gets.chomp()
real_user1 = "11"
real_user2 = "ab"
if real_user1 == input
  puts("Hello!, user1")
elsif real_user2 == input
  puts("Hello!, user2")
else
  puts("Who are you?")
end
cs


우리가 계속해서 언급했던 로그인에 대한 기본적인 예제이다.

앞서 배운 조건문과 입력 함수를 기반으로 구현한 것이다.


우선 입력 함수로 id를 받은 후 변수에 저장해 준다.

그리고 기존에 저장 되어 있는 유저의 이름값과 비교 후에 어떤 유저로 로그인 했는지 확인하고

해당 유저의 이름으로 환영 인사를 출력한다.


실제로 로그인을 할 때 쿠키값을 비교하거나 데이터베이스의 비밀번호를 비교할 때

입력된 값과 저장된 값을 비교하며, 이는 조건문으로 이루어진다.

따라서 위의 코드는 이러한 알고리즘의 가장 원시적인 구현이라고 할 수있다.



출처 : 생활코딩, 파이썬&루비


반응형

댓글