Python & Ruby

입력과 출력

사용자의 입력을 애플리케이션으로 가져오기

Python

in_str = input("입력해주세요.\n")
print(in_str.upper()+" World!")

ideone.com

Ruby

puts("입력해주세요")
in_str = gets.chomp()
puts(in_str.upcase() + " World!")

 ideone.com

 

로그인 애플리케이션에 입력 기능 추가하기

Python

in_str = input("아이디를 입력해주세요.\n")
real_egoing = "11"
real_k8805 = "ab"
if real_egoing == in_str:
  print("Hello!, egoing")
elif real_k8805 == in_str:
  print("Hello!, k8805")
else:
  print("Who are you?")

ideone.com

Ruby

puts("아이디를 입력해주세요")
input = gets.chomp()
real_egoing = "11"
real_k8805 = "ab"
if real_egoing == input
  puts("Hello!, egoing")
elsif real_k8805 == input
  puts("Hello!, k8805")
else
  puts("Who are you?")
end

ideone.com

참고

github

댓글

댓글 본문
작성자
비밀번호
  1. Peter Lee
    안녕하세요 좋은 목소리의 egoing님 강의 잘 듣고 있습니다.
    Atom으로 편집해서 루비에

    ------------------------------------------------------
    puts("아이디를 입력해주세요")
    input = gets.chomp()
    real_egoing = "11"
    real_k8805 = "ab"
    if real_egoing == input
    puts("Hello, egoing")
    elsif real_k8805 == input
    puts("Hello, k8805")
    else
    puts("Who are you?")
    end
    -----------------------------------------------------
    로 코드를 넣었는데 cmd에서는

    line 5
    'if real_egoing == input'
    ^
    Syntax Error : Invalid syntax라네요..


    이고잉님의 루비 코드랑은 느낌표 하나만 없는 코드인데 이렇게 에러가 나눈군요..

    혹시 이 에러의 이유를 아시는 분 도와주실 수 있나요??
    (아마 'input'때문에 일어나는거 같은데 말이죠...?)
  2. 현재 atom editor는 STDIN(Standard Input)을 지원 안한다고 하네요.
    파이썬 루비 아무리 해봐도 안되서 찾아봤더니 .. ㅠ
    대안은 hydrogen? 을 쓰라고 하는데
    다운이 느려서 그냥 안해봤습니다... ㅠ
    (https://github.com......511)

    터미널이나 커맨더에서는 실행되니 안된다고 당황하지 마세요~
  3. Helena
    버전이 달라서 그렇습니다. 2.7버전에서는 input 대신 raw_input을 사용해야해요
    대화보기
    • 구녹수수
      똑같이 했는데 왜 아톰 실행창에서 계속 모래시계가 뜰까요?? ㅜㅜㅜㅜ
    • 이경민
      여기서 in_str값을 print할 때 upper나 capitalize로 소문자를 대문자화 해도,
      입력(input)값과 실제(id)를 비교할 때는 대소문자 구분 없이 다 인지를 해서
      설사 대문자로 입력하더라도 소문자id와 호환되어 '승인(id확인)'이 되더라구요.

      그런데 대소문자를 구별하여 만약에 소문자인데 대문자를 입력하면
      id승인이 되지 않도록 하려면 어떻게 해야 하나요?
    • 이고잉2
      input() 이라는 함수에서 사용자의 입력을 받으면 저 함수가 문자열로 바뀐다는 말씀인거죠?

      input() -> "문자열"

      그럼 로그인 기능이나 뭐 다른 input() 함수가 쓰이는 프로그램에서는
      input() 함수가 받을 값은 무조건 문자열이어야 겠네요?
    • JustStudy
      고맙습니다
    • 쥬디다무
      python 2에서는 한글을 입력했을 때 이런 메시지가 뜨는데 python3에서는 안뜨고 잘 실행되네요....

      python 2에서는 한글 입력을 위해 코드의 처음 부분에 다음 코드를 넣어야 하구요... python 3와 Ruby는 안 넣어도 되는 것 같습니다.

      # -*- coding: utf-8 -*-
      대화보기
      • 쥬디다무
        저는 맥을 쓰는데요 저도 같은 오류가 나와서 테스트를 해보니

        그냥 python 1.py 라고 하면 python2로 실행이 되면서 오류를 뿜네요..

        이 때는 input을 raw_input으로 바꿔줘야 합니다.

        그리고 python3 1.py 라고 하면 python3로 실행이 되면서 예제로 올려주신 코드가 정상적으로 동작됩니다.
        대화보기
        • 쥬디다무
          # -*- coding: utf-8 -*-


          라고 입력해줘야 하네요.....

          #도 없애면 안되구요...
          대화보기
          • " " 안에서는 변수가 적용되지 않습니다
            print(" 안녕하세요 name 님")
            이라 하면 그냥
            안녕하세요 name님
            으로 뜨는 거죠.

            name 변수를 적용하려면
            print("안녕하세요"+name+"님")으로 해야죠.
            변수 파트 영상 보고 오세요
            대화보기
            • name = input("이름: ")

              print("잠수 시간을 입력해주세요")
              minutes = input("분: ")
              seconds = input("초: ")

              print ("안녕하세요 name 님")
              print ("잠수 시간은 minutes. second 입니다")

              이거 학교에서 해본건데 뭐가 잘못된건가요?
            • 해앵인
              루비에는 input함수가 없기 때문에 상관없을것같아요~~
              대화보기
              • 이웃집토토로
                실습하시는 분들
                두 번째 파트 [로그인 애플리케이션에 입력 기능 추가하기] 에서
                루비 예제 5,7번에서 input들도 in_str이라는 변수명으로 바꿔야 할 것 같습니다 !
                (선생님께서 함수를 불러오는 예제를 만들었다고 하시더라고요 )

                puts("아이디를 입력해주세요")
                in_str = gets.chomp()
                real_egoing = "11"
                real_k8805 = "ab"
                if real_egoing == in_str
                puts("Hello!, egoing")
                elsif real_k8805 == in_str
                puts("Hello!, k8805")
                else
                puts("Who are you?")
                end
              • khs2744
                고맙습니다.
              • 이웃집토토로
                코드에 한글을 쓰신 게 아닌지 ..
                파이썬이나 루비 모두 상단에 다음과 같은 코드를 추가해주시면 됩니다 : )

                # encoding: UTF-8
                대화보기
                • 아톰에서 실행하면
                  아톰에서 실행하면 이런 오류가 나네요

                  File "/Users/hioli701/Documents/python_ruby/input_output/1.1.py", line 1
                  SyntaxError: Non-ASCII character '\xec' in file /Users/hioli701/Documents/python_ruby/input_output/1.1.py on line 1, but no encoding declared; see http://www.python.org......tml for details

                  아스키코드가 아니라.. 무슨말일까요 ㅠㅠ
                • 동동이
                  강의 잘 보고있습니다. 궁금한 것이 있는데요,

                  in_str = input("입력해주세요.") 코드를 해석해보면
                  in_str를 input 함수로 만든 변수로 정의한 것 맞을까요?

                  또, input 함수를 사용한 것은 항상 데이터 타입이 문자열로 나오나요?
                  in_str의 type을 알아봤을 때 <class str>이라고 나오는 과정이 이해가 가지 않아서요.
                  저는 in_str를 임의로 둔 것이라고 생각했는데 그 자체로 string의 성질을 갖나요?
                • 감사합니다!!!
                • Song Hyo Jin>
                  저도 궁금했는데 뒷쪽 강의(컨테이너)에 나오네요.
                  .class 인 듯해요.
                  예: puts("입력해주세요".class)
                  결과: String
                  대화보기
                  • 기혁지구
                    잘 보고 있습니다^^
                  • 구묵
                    잘 보고 있습니다!
                  • Song Hyo Jin
                    파이선에서 데이터형식을 보는 방법으로 type() 를 소개해주셨는데,
                    루비에서는 무슨함수로 볼 수 있나요!?
                  • 사랑해요.
                    고맙습니다. ~~
                  • 검사무운
                    잘 봤습니다. 감사합니다.
                  • 흠흐
                    리눅스 지에디터 사용중인데 자꾸 오류가나길래( 파이썬2,3 버젼이 모두설치되있어서 2버젼이 실행되나봅니다. 지에디터에서 3.x버젼으로 실행하는방법이없나요??) 한참 찾다가 , 첫줄에
                    # -*- coding: utf-8 -*- 를 넣고 하면되네요.
                    / 해결했습니다 .두버젼이 모두깔려있어서 2.x 버젼으로 실행되신다면 터미널로 실행하실때 python 말고 python3 이라고 입력하신뒤 파일을 불러오시면 됩니다^^
                  • centos를 사랑하는 사람
                    http://stackoverflow.com......ned 에 나와있습니다

                    버전이 Python 2.x이면 오류가 나는 현상이라는 군요.
                    Python 3.x으로 업그레이드 하시던지, 아니면 raw_input을 쓰시면 됩니다
                    대화보기
                    • taxiwow
                      저도 이런 오류 나는데 어떻게 해결해야하나요?ㅠㅠ
                      대화보기
                      • grapgrap
                        저는 python 코드를 돌리면 아래와 같은 오류를 뱉습니다 ㅠㅜ

                        Traceback (most recent call last):
                        File "python.py", line 2, in <module>
                        in_str = input("plz input. \n")
                        File "<string>", line 1, in <module>
                        NameError: name 'hello' is not defined
                      • 현현
                        감사합니다 !! ㅎㅎ
                      • Frank
                        명강의십니다. 고맙습니다. 이고잉님.^^
                      • egoing
                        입력값을 int()로 감싸주시면 됩니다. 그럼 숫자로 변환되요
                        대화보기
                        • 사진쟁이
                          파이썬에서 input() 함수를 사용하면 숫자를 입력해도 문자열로 뿌려주더군요. 사용자에게 입력 받은 값을 변수에 넣고 변수끼리 사칙연산을 하고 싶은데 어덯게 해야 숫자를 입력 할 수 있을까요?
                        버전 관리
                        egoing
                        현재 버전
                        선택 버전
                        graphittie 자세히 보기