복붙노트

[PYTHON] 입력을 숫자로 읽으려면 어떻게해야합니까?

PYTHON

입력을 숫자로 읽으려면 어떻게해야합니까?

왜 아래 코드에 int 대신 x 및 y 문자열이 있습니까? 웹상의 모든 것들은 raw_input ()을 사용한다고하지만, 파이썬 3.x에서 raw_input ()이 input ()으로 이름이 바뀐 스택 오버 플로우 (정수 입력을 다루지 않는 스레드에서)에 대해 읽었습니다.

play = True

while play:

    x = input("Enter a number: ")
    y = input("Enter a number: ")

    print(x + y)
    print(x - y)
    print(x * y)
    print(x / y)
    print(x % y)

    if input("Play again? ") == "no":
        play = False

해결법

  1. ==============================

    1.TLDR

    TLDR

    Python 2.x

    input과 raw_input이라는 두 가지 함수가 사용자 입력을 얻습니다. 그것들의 차이점은 raw_input은 데이터를 평가하지 않고 문자열 형태로 그대로 반환한다는 것입니다. 하지만 입력하면 입력 한 내용이 평가되고 평가 결과가 반환됩니다. 예를 들어,

    >>> import sys
    >>> sys.version
    '2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2]'
    >>> data = input("Enter a number: ")
    Enter a number: 5 + 17
    >>> data, type(data)
    (22, <type 'int'>)
    

    데이터 5 + 17이 평가되고 결과는 22입니다. 식 5 + 17을 계산할 때 두 개의 숫자를 추가하는 것을 감지하므로 결과도 같은 int 유형이됩니다. 따라서 유형 변환은 무료이며 22가 입력 결과로 리턴되고 데이터 변수에 저장됩니다. 당신은 input을 eval 호출로 구성된 raw_input이라고 생각할 수 있습니다.

    >>> data = eval(raw_input("Enter a number: "))
    Enter a number: 5 + 17
    >>> data, type(data)
    (22, <type 'int'>)
    

    참고 : Python 2.x에서 입력을 사용할 때는주의해야합니다. 나는이 대답에서 왜 그것을 사용할 때주의해야하는지 설명했다.

    그러나 raw_input은 입력을 평가하지 않고 그대로 문자열로 반환합니다.

    >>> import sys
    >>> sys.version
    '2.7.6 (default, Mar 22 2014, 22:59:56) \n[GCC 4.8.2]'
    >>> data = raw_input("Enter a number: ")
    Enter a number: 5 + 17
    >>> data, type(data)
    ('5 + 17', <type 'str'>)
    

    파이썬 요법

    Python 3.x의 입력과 Python 2.x의 raw_input은 비슷하며 raw_input은 Python 3.x에서 사용할 수 없습니다.

    >>> import sys
    >>> sys.version
    '3.4.0 (default, Apr 11 2014, 13:05:11) \n[GCC 4.8.2]'
    >>> data = input("Enter a number: ")
    Enter a number: 5 + 17
    >>> data, type(data)
    ('5 + 17', <class 'str'>)
    

    해결책

    귀하의 질문에 대답하기 위해 Python 3.x는 데이터 유형을 평가하고 변환하지 않으므로 int와 같이 명시 적으로 int로 변환해야합니다.

    x = int(input("Enter a number: "))
    y = int(input("Enter a number: "))
    

    당신은 어떤 수의 수를 받아 들일 수 있고 이것을 int 함수로 base-10으로 직접 변환 할 수 있습니다.

    >>> data = int(input("Enter a number: "), 8)
    Enter a number: 777
    >>> data
    511
    >>> data = int(input("Enter a number: "), 16)
    Enter a number: FFFF
    >>> data
    65535
    >>> data = int(input("Enter a number: "), 2)
    Enter a number: 10101010101
    >>> data
    1365
    

    두 번째 매개 변수는 입력 된 숫자의 기초가 무엇인지 알려주고 내부적으로 숫자를 해석하고 변환합니다. 입력 된 데이터가 틀리면 ValueError가 발생합니다.

    >>> data = int(input("Enter a number: "), 2)
    Enter a number: 1234
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    ValueError: invalid literal for int() with base 2: '1234'
    

    분수 성분을 가질 수있는 값의 경우 유형은 int가 아닌 float가됩니다.

    x = float(input("Enter a number:"))
    

    그 외에는 프로그램을 조금 바꿀 수 있습니다.

    while True:
        ...
        ...
        if input("Play again? ") == "no":
            break
    

    break와 True를 사용하여 play 변수를 없앨 수 있습니다.

    추신 : 파이썬 기대하지 않는다; 줄 끝에서 :)

  2. ==============================

    2.Python 3.x에서 raw_input은 input으로 이름이 바뀌었고 Python 2.x 입력은 제거되었습니다.

    Python 3.x에서 raw_input은 input으로 이름이 바뀌었고 Python 2.x 입력은 제거되었습니다.

    이것은 raw_input과 마찬가지로 Python 3.x에서의 입력은 항상 문자열 객체를 반환한다는 것을 의미합니다.

    문제를 해결하려면 int에 넣어 입력을 명시 적으로 정수로 만들어야합니다.

    x = int(input("Enter a number: "))
    y = int(input("Enter a number: "))
    

    또한 파이썬은 세미콜론을 사용하지 않아도됩니다. 그래서, 그들에게 긍정적 인 일을하지 마십시오.

  3. ==============================

    3.한 줄에 여러 정수가있는 경우지도가 더 좋을 수도 있습니다.

    한 줄에 여러 정수가있는 경우지도가 더 좋을 수도 있습니다.

    arr = map(int, raw_input().split())
    

    숫자가 이미 알려지면 (2 개의 정수처럼), 다음을 사용할 수 있습니다.

    num1, num2 = map(int, raw_input().split())
    
  4. ==============================

    4.input () (Python 3)과 raw_input () (Python 2)은 항상 문자열을 반환합니다. int ()를 사용하여 결과를 정수로 명시 적으로 변환하십시오.

    input () (Python 3)과 raw_input () (Python 2)은 항상 문자열을 반환합니다. int ()를 사용하여 결과를 정수로 명시 적으로 변환하십시오.

    x = int(input("Enter a number: "))
    y = int(input("Enter a number: "))
    

    프로 팁 : 세미콜론은 파이썬에서 필요하지 않습니다.

  5. ==============================

    5.여러 질문에 한 줄에 여러 정수를 입력해야합니다. 가장 좋은 방법은 숫자의 전체 문자열을 한 줄씩 입력 한 다음 정수로 나누는 것입니다.

    여러 질문에 한 줄에 여러 정수를 입력해야합니다. 가장 좋은 방법은 숫자의 전체 문자열을 한 줄씩 입력 한 다음 정수로 나누는 것입니다.

     p=raw_input()
        p=p.split()      
        for i in p:
            a.append(int(i))
    
  6. ==============================

    6.정수로 변환 :

    정수로 변환 :

    my_number = int(input("enter the number"))
    

    부동 소수점 수에 대해서도 마찬가지로 :

    my_decimalnumber = float(input("enter the number"))
    
  7. ==============================

    7.파이썬에서 int로 입력하기 : 우리는 다음을 사용하여 간단한 문자열 입력을 사용합니다.

    파이썬에서 int로 입력하기 : 우리는 다음을 사용하여 간단한 문자열 입력을 사용합니다.

    input()
    

    이제 int를 input으로 사용하기를 원합니다. 그래서이 문자열을 int로 typecast합니다. 단순히 다음을 사용 :

    int(input())
    
  8. ==============================

    8.파이썬 3.x는 항상 string을 반환하는 input () 함수를 가지고 있습니다. 당신은 int로 변환해야합니다.

    파이썬 3.x는 항상 string을 반환하는 input () 함수를 가지고 있습니다. 당신은 int로 변환해야합니다.

    연못, 예.

    x = int(input("Enter a number: "))
    y = int(input("Enter a number: "))
    

    2.h

    python 2.x에서 raw_input ()과 input () 함수는 항상 string을 반환하므로 int로 변환해야합니다.

    x = int(raw_input("Enter a number: "))
    y = int(input("Enter a number: "))
    
  9. ==============================

    9.파이썬 3.x에서. 기본적으로 입력 함수는 문자열 형식의 입력을받습니다. 정수로 변환하려면 int (input ())를 포함해야합니다.

    파이썬 3.x에서. 기본적으로 입력 함수는 문자열 형식의 입력을받습니다. 정수로 변환하려면 int (input ())를 포함해야합니다.

    x=int(input("Enter the number"))
    
  10. ==============================

    10.CodeChef에서 공간을 기준으로 분리 된 두 개의 정수를 한 줄에서 읽어야하는 문제를 해결하면서 정수 입력 문제를 겪었습니다.

    CodeChef에서 공간을 기준으로 분리 된 두 개의 정수를 한 줄에서 읽어야하는 문제를 해결하면서 정수 입력 문제를 겪었습니다.

    int (input ())는 단일 정수로는 충분하지만 두 정수를 직접 입력하는 방법을 찾지 못했습니다. 나는 이것을 시도했다 :

    num = input()
    num1 = 0
    num2 = 0
    
    for i in range(len(num)):
        if num[i] == ' ':
            break
    
    num1 = int(num[:i])
    num2 = int(num[i+1:])
    

    이제 num1과 num2를 정수로 사용합니다. 희망이 도움이됩니다.

  11. ==============================

    11.

    def dbz():
        try:
            r = raw_input("Enter number:")
            if r.isdigit():
                i = int(raw_input("Enter divident:"))
                d = int(r)/i
                print "O/p is -:",d
            else:
                print "Not a number"
        except Exception ,e:
            print "Program halted incorrect data entered",type(e)
    dbz()
    
    Or 
    
    num = input("Enter Number:")#"input" will accept only numbers
    
  12. ==============================

    12.귀하의 예제에서 int (input (...))는 어떤 경우에도 속임수를 쓰지 만, 파이썬 2의 미래 코드의 builtins.input은 고려해야 할 가치가 있습니다. 파이썬 2와 3 모두에서 코드가 작동하고 파이썬 2의 입력 입력 데이터 타입 (builtins.input은 기본적으로 raw_input처럼 동작 함)에 대해 "똑똑"하려고 노력합니다.

    귀하의 예제에서 int (input (...))는 어떤 경우에도 속임수를 쓰지 만, 파이썬 2의 미래 코드의 builtins.input은 고려해야 할 가치가 있습니다. 파이썬 2와 3 모두에서 코드가 작동하고 파이썬 2의 입력 입력 데이터 타입 (builtins.input은 기본적으로 raw_input처럼 동작 함)에 대해 "똑똑"하려고 노력합니다.

  13. ==============================

    13.

    n=int(input())
    for i in range(n):
        n=input()
        n=int(n)
        arr1=list(map(int,input().split()))
    

    for 루프는 'n'번 실행됩니다. 두 번째 'n'은 배열의 길이입니다. 마지막 명령문은 정수를리스트로 맵핑하고 공백으로 분리 된 형식으로 입력을받습니다. for 루프의 끝에서 배열을 반환 할 수도 있습니다.

  14. ==============================

    14.

    play = True
    
    while play:
    
        #you can simply contain the input function inside an int function i.e int(input(""))
        #This will only accept int inputs
        # and can also convert any variable to 'int' form
    
        x = int(input("Enter a number: "))    
        y = int(input("Enter a number: "))
    
        print(x + y)
        print(x - y)
        print(x * y)
        print(x / y)
        print(x % y)
    
        if input("Play again? ") == "no":
            play = False
    
  15. ==============================

    15.예, 파이썬 3.x에서는 raw_input이 입력으로 대체되었습니다. 입력 사용의 이전 동작으로 되돌리려면 다음을 수행하십시오.

    예, 파이썬 3.x에서는 raw_input이 입력으로 대체되었습니다. 입력 사용의 이전 동작으로 되돌리려면 다음을 수행하십시오.

    eval (input ( "숫자 입력 :"))

    이렇게하면 입력 된 값이 정수라는 것을 파이썬이 알 수 있습니다.

  16. from https://stackoverflow.com/questions/20449427/how-can-i-read-inputs-as-numbers by cc-by-sa and MIT license