Python의 단일 input () 함수에서 두 개 이상의 입력을 얻는 방법은 무엇입니까?

HM 칼리드 마흐무드

사용자 지정 함수 인수 앞에 *를 사용하면 인수로 둘 이상의 데이터 또는 불확실한 양의 데이터를 전달할 수 있다는 것을 배웠습니다. 숫자 함수 등을 추가하려면 함수를 호출 할 때 무제한의 데이터를 전달할 수 있습니다. 하지만 사용자로부터이 번호를 얻고 싶습니다. 얼마나 많은 숫자를 얻을 수 있는지 모르기 때문에 이전에 각각에 대해 변수를 선언 할 수 없습니다. 이제 입력으로 많은 숫자를 가져 와서 사용자 지정 함수와 함께 추가하려면 어떻게해야합니까? 내 생각은 실생활의 계산기와 매우 유사합니다.

다음은 내 코드입니다. 코드를 작성하는 동안 수동으로 입력하는 대신 숫자를 입력으로 얻고 싶습니다. 누군가 내가하려는 일에 대한 코드를 알려 주면 감사하겠습니다.

def add_number(*args):
    total = 0
    for number in args:
        total += number
    print(total)


add_number(2, 3, 6, 9)
데미안 울프

단일 입력 을 사용해야한다고 말합니다 . 이 경우 .split(separator)주어진 문자열의 일부 목록을 반환하는 문자열 메서드를 사용하여 입력을 분할 할 수 있습니다 . separator인수는 선택 사항입니다. 사용자가 공백 문자로 구분 된 숫자를 입력하면이 인수를 전달할 필요가 없습니다. 그렇지 않으면 구분 기호를 전달해야합니다.

numbers = input("Enter the numbers... ").split()  # if numbers are separated by any of whitespace characters ("1 2 3 4")
numbers = input("Enter the numbers... ").split(", ")  # if numbers are separated by a comma and a space ("1, 2, 3, 4")

참고 : 답변의 다음 부분에서 숫자가 공백 문자로 구분되어 있다고 가정합니다.

numbers목록 을 인쇄하려면 다음 출력을 얻습니다.

>>> numbers = input("Enter the numbers... ").split()
Enter the numbers... 1 2 3 4
>>> print(numbers)
['1', '2', '3', '4']

우리가 볼 수 있듯이 목록의 모든 항목은 문자열입니다 (따옴표로 인해 : '1', 아님 1). 이들을 함께 연결하려고하면 다음과 같은 결과를 얻을 수 '1234'있습니다.. 그러나 문자열이 아닌 숫자로 함께 연결하려면 정수 (정수) 또는 부동 (정수가 아닌 숫자) 유형 으로 변환해야 합니다. 하나의 숫자 가 있으면 쉽게 할 수 있습니다 int(number). 그러나 우리는 숫자 목록을 얻었고 모든 요소를 int.

map(func, iterable)함수 를 사용할 수 있습니다 . func모든 항목 에을 적용하고 객체-반복자 (목록 아님!)를iterable 반환합니다 .map

numbers = map(int, numbers)

참고 : 목록으로 표시하려면 다음을 수행하면됩니다.

numbers = list(map(int, numbers))

여기서는 필요하지 않습니다.

그리고 지금 우리는 모든 숫자를 던질 수있는 add_number(*args)별표 (*)를 사용하여 기능 - 포장 을 :

add_number(*numbers)

참고 :sum 함수를 사용 하여 iterable의 모든 숫자를 추가 할 수도 있습니다 .이 경우 단일 반복 가능한 숫자를 가져 오므로 인수를 패킹 할 필요가 없습니다.

sum_ = sum(numbers)

그리고 print결과는 다음과 같습니다.

print(sum_)

중요 참고 : sum(iterable) 숫자의 합을 반환하고 아무것도 인쇄하지 않는 반면, add_number(*args)함수 는 None을 반환 하고 숫자를 인쇄합니다 (동일하지 않습니다!). 다음 은 훌륭하고 자세한 설명입니다.

다음은 우리가 작성한 전체 코드입니다.

def add_number(*args):
    total = 0
    for number in args:
        total += number
    print(total)

numbers = input("Enter the numbers... ").split()  # if numbers are separated by any of whitespace characters ("1 2 3 4")
numbers = map(int, numbers)
add_number(*numbers)

그리고 여기에 똑같은 일을하는 한 줄짜리가 있습니다.- sum대신 함수를 사용 add_number하므로 코드에서 다른 것을 필요로하지 않습니다.

print(sum(map(int, input("Enter the numbers... ").split())))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 버튼에서 단일 입력 상자에 값을 추가하는 방법은 무엇입니까?

분류에서Dev

두 개 이상의 뷰에서 단일 뷰 모델을 공유하는 방법은 무엇입니까?

분류에서Dev

Processing에서 단일 스케치의 창을 두 개 이상 만드는 방법은 무엇입니까?

분류에서Dev

두 개 이상의 쿼리에서 결합 된 출력을 얻는 방법은 무엇입니까?

분류에서Dev

두 개의 다른 콤보 상자에서 입력을 얻는 방법은 무엇입니까?

분류에서Dev

PHP의 단일 필드에 두 개의 변수 값을 삽입하는 방법은 무엇입니까?

분류에서Dev

입력 type = "file"다중에서 하나, 두 개의 파일을 제거하는 방법은 무엇입니까?

분류에서Dev

동일한 모양의 두 개 이상의 중첩 목록에서 작동하는 Python 함수를 만드는 방법은 무엇입니까?

분류에서Dev

단일 파이썬 루프에서 두 개의 for 루프를 수행하는 방법은 무엇입니까?

분류에서Dev

Karate의 단일 기능 파일에서 두 개 이상의 csv 파일을 사용하는 방법은 무엇입니까?

분류에서Dev

java.util.Scanner에서 두 개 이상의 공백을 일치시키는 방법은 무엇입니까?

분류에서Dev

두 개의 연속 입력을 두 개의 다른 변수에 할당하는 방법은 무엇입니까?

분류에서Dev

두 개의 CGSize에서 CGAffineTransform을 얻는 방법은 무엇입니까?

분류에서Dev

sprintf + 호출을 단일 함수로 래핑하고 F #에서 두 개의 서명을 갖는 방법은 무엇입니까?

분류에서Dev

두 개의 탭으로 구분 된 파일에서 피벗 라인을 얻는 방법은 무엇입니까?

분류에서Dev

PySpark에서 두 개의 열을 단일 열로 쌓는 방법은 무엇입니까?

분류에서Dev

JavaScript 문자열에서 동시에 두 개 이상의 단어를 바꾸는 방법은 무엇입니까?

분류에서Dev

단일 HTML 페이지에서 두 개의 각도 선택 달력 컨트롤을 사용하는 방법은 무엇입니까?

분류에서Dev

두 개의 텍스트 상자 값 (데이터)을 데이터베이스 (My SQL)의 단일 열에 추가하는 방법은 무엇입니까?

분류에서Dev

동일한 쿼리에서 두 개의 집계 함수를 언급하는 방법은 무엇입니까?

분류에서Dev

두 개 이상의 수정 계수를 적용하여 기간에 단일 didgit을 분할하는 방법은 무엇입니까?

분류에서Dev

두 개의 다른 커밋에서 동일한 파일의 소스를 얻는 방법은 무엇입니까?

분류에서Dev

두 개의 입력으로 일반 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

두 개의 입력으로 일반 함수를 작성하는 방법은 무엇입니까?

분류에서Dev

동일한 PDF에서 동시에 두 개 이상의 div를 인쇄하는 방법은 무엇입니까?

분류에서Dev

하나의 입력에서 두 개의 개별 배열을 만드는 방법은 무엇입니까?

분류에서Dev

두 라디오 버튼의 입력을 단일 필드에 할당하는 방법은 무엇입니까?

분류에서Dev

두 개 이상의 파일에서 knitr 청크를 캐시하는 방법은 무엇입니까?

분류에서Dev

단일 속성 편집기에 두 개의 속성을 사용하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    두 개의 버튼에서 단일 입력 상자에 값을 추가하는 방법은 무엇입니까?

  2. 2

    두 개 이상의 뷰에서 단일 뷰 모델을 공유하는 방법은 무엇입니까?

  3. 3

    Processing에서 단일 스케치의 창을 두 개 이상 만드는 방법은 무엇입니까?

  4. 4

    두 개 이상의 쿼리에서 결합 된 출력을 얻는 방법은 무엇입니까?

  5. 5

    두 개의 다른 콤보 상자에서 입력을 얻는 방법은 무엇입니까?

  6. 6

    PHP의 단일 필드에 두 개의 변수 값을 삽입하는 방법은 무엇입니까?

  7. 7

    입력 type = "file"다중에서 하나, 두 개의 파일을 제거하는 방법은 무엇입니까?

  8. 8

    동일한 모양의 두 개 이상의 중첩 목록에서 작동하는 Python 함수를 만드는 방법은 무엇입니까?

  9. 9

    단일 파이썬 루프에서 두 개의 for 루프를 수행하는 방법은 무엇입니까?

  10. 10

    Karate의 단일 기능 파일에서 두 개 이상의 csv 파일을 사용하는 방법은 무엇입니까?

  11. 11

    java.util.Scanner에서 두 개 이상의 공백을 일치시키는 방법은 무엇입니까?

  12. 12

    두 개의 연속 입력을 두 개의 다른 변수에 할당하는 방법은 무엇입니까?

  13. 13

    두 개의 CGSize에서 CGAffineTransform을 얻는 방법은 무엇입니까?

  14. 14

    sprintf + 호출을 단일 함수로 래핑하고 F #에서 두 개의 서명을 갖는 방법은 무엇입니까?

  15. 15

    두 개의 탭으로 구분 된 파일에서 피벗 라인을 얻는 방법은 무엇입니까?

  16. 16

    PySpark에서 두 개의 열을 단일 열로 쌓는 방법은 무엇입니까?

  17. 17

    JavaScript 문자열에서 동시에 두 개 이상의 단어를 바꾸는 방법은 무엇입니까?

  18. 18

    단일 HTML 페이지에서 두 개의 각도 선택 달력 컨트롤을 사용하는 방법은 무엇입니까?

  19. 19

    두 개의 텍스트 상자 값 (데이터)을 데이터베이스 (My SQL)의 단일 열에 추가하는 방법은 무엇입니까?

  20. 20

    동일한 쿼리에서 두 개의 집계 함수를 언급하는 방법은 무엇입니까?

  21. 21

    두 개 이상의 수정 계수를 적용하여 기간에 단일 didgit을 분할하는 방법은 무엇입니까?

  22. 22

    두 개의 다른 커밋에서 동일한 파일의 소스를 얻는 방법은 무엇입니까?

  23. 23

    두 개의 입력으로 일반 함수를 작성하는 방법은 무엇입니까?

  24. 24

    두 개의 입력으로 일반 함수를 작성하는 방법은 무엇입니까?

  25. 25

    동일한 PDF에서 동시에 두 개 이상의 div를 인쇄하는 방법은 무엇입니까?

  26. 26

    하나의 입력에서 두 개의 개별 배열을 만드는 방법은 무엇입니까?

  27. 27

    두 라디오 버튼의 입력을 단일 필드에 할당하는 방법은 무엇입니까?

  28. 28

    두 개 이상의 파일에서 knitr 청크를 캐시하는 방법은 무엇입니까?

  29. 29

    단일 속성 편집기에 두 개의 속성을 사용하는 방법은 무엇입니까?

뜨겁다태그

보관