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. Philip Oh
    안녕하세요, 강의 잘 보고 있습니다.
    실습 중에 이러한 오류가 발생되는데...
    혹시 이유를 알 수 있을까요??

    File "/Users/Philip/Documents/python_ruby/input_output/1.py", line 1
    SyntaxError: Non-ASCII character '\xec' in file /Users/Philip/Documents/python_ruby/input_output/1.py on line 1, but no encoding declared; see http://python.org......63/ for details
    [Finished in 0.056s]
  2. 초보
    문제 해결했습니다. 해당 폴더로 이동 후 python 파일명을 치니 실행되네요 ^^
    대화보기
    • 초보
      답변 감사한데, 겹치는 부분 삭제하고 붙여넣기 해도 계속 Python can't open~~ 하면서 파일을 열 수 없다는 메시지가 반복되네요 ㅠㅠ
      대화보기
      • 연습중
        > 앞에 있는 파일 위치와 겹치는 부분은 삭제하고 붙여넣기 하면 될거에요
        대화보기
        • 초보
          Windows 10 사용자인데 .py 파일 위치를 마우스 오른쪽 클릭한 후 cmd에서 python 다음에 붙여서 엔터를 치면 Python can't open~~ 하면서 파일을 열 수 없다는 메시지가 반복되네요 ㅠㅠ (ruby도 동일...)
          한마디로 cmd에서 python하고 ruby 파일을 읽지 못하는 문제 같은데 해결책이 무엇일까요?
        • chabul00
          뭐가 문젤까요??
          대화보기
          • 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'때문에 일어나는거 같은데 말이죠...?)
          • 현재 atom editor는 STDIN(Standard Input)을 지원 안한다고 하네요.
            파이썬 루비 아무리 해봐도 안되서 찾아봤더니 .. ㅠ
            대안은 hydrogen? 을 쓰라고 하는데
            다운이 느려서 그냥 안해봤습니다... ㅠ
            (https://github.com......511)

            터미널이나 커맨더에서는 실행되니 안된다고 당황하지 마세요~
          • 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의 성질을 갖나요?
                        • 감사합니다!!!
                        • nadia
                          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 자세히 보기