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. 코딩하고싶당
    앞에있는 부분 삭제하고 넣어도 python cann't find가 뜨는 이유는 무엇을까요??
    진도를 나갈 수가 없네요 ㅠ
  2. seeong2
    awesome
  3. Philip Oh
    강의와 실습 모두 잼있습니다~
    감사합니다:)
  4. 초보
    문제 해결했습니다. 해당 폴더로 이동 후 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 자세히 보기