paiza Python3에서 여러 줄 입력 수신

제목이 모호합니다.

배경 & 제목의 의미



나는 iPhone에서 python3에서 paiza 문제에 도전하고 있습니다.

문제를 해결할 때 pythonista3이라는 앱을 사용하지만 테스트 실행시 입력을 전달할 때 하나씩 한 줄씩 입력하는 것은 번거롭다고 생각하고 개행을 포함한 여러 줄을 단번에 입력하고 그것을 마치 한 줄씩 입력으로 취급하고 싶다고 생각했습니다.

입력에 반복자를 넣습니다.



단도 직입에. 해결에 사용한 코드는 다음과 같습니다.

python3
#'''
allinputs = iter(input().splitlines())
input = lambda : next(allinputs)
#'''

첫 번째 #'''# 를 취하면 그대로 제출용 코드로 바뀝니다.
  • 개행 입력 모든 입력을 개행으로 단락지은 배열을 작성
  • 이터레이터를 토하는 제너레이터를 input 함수에 넣는다
  • input 함수가 한 줄씩 입력에



  • 다음과 같이, 1행째에 배열의 요소수 N , 그 후에 1행씩 배열의 요소가 주어지는 경우의 예를 나타냅니다. pythonista3 에서 입력을 전달하는 방법에 대한 스쿠쇼도 나열합니다.

    입력
    5
    apple
    banana
    orange
    grape
    melon
    



    python3
    #'''
    allinputs = iter(input().splitlines())
    input = lambda : next(allinputs)
    #'''
    
    N = int(input())
    arr = [input() for _ in range(N)]
    
    print('N : ',N)
    print('arr : ',arr)
    

    출력
    N :  5
    arr :  ['apple', 'banana', 'orange', 'grape', 'melon']
    

    끝에



    별로 내장 함수를 만지는 것은 좋지 않을지도 모릅니다만, 예를 들어 my_input 함수등을 준비한 곳에서, 혼란을 초래할 뿐이기 때문에, input 를 덧쓰기하는 형태를 취했습니다.

    도움이되면 다행입니다. m(_ _)m

    2018/1/7 추가



    pythonista3를 사용하는 경우,하지만 한 번 코드를 실행하면 앱을 종료 할 때까지 input .

    python3
    _input = input
    #'''
    allinputs = iter(input().splitlines())
    input = lambda : next(allinputs)
    #'''
    
    #ここに書きたいコードを書く
    
    input = _input
    

    좋은 웹페이지 즐겨찾기