import sys

1679 ワード

ペクジュン問題を解く過程で、時間があまりにも長いので、時間を短縮する方法が何なのか気になる.
結果から,入力時にはinputではなくsysモジュールを用いた.

時間が一気に減ったのは以下のように見える.
使い方が簡単です.importとsys.stdin.readline()を入力します.
 import sys

for _ in range(3):
    n = int(input())
    a = [int(input()) for i in range(n)]

    if sum(a) == 0:
        print(0)
    elif sum(a) > 0:
        print("+")
    elif sum(a) < 0:
        print("-")
import sys

for _ in range(3):
    n = int(sys.stdin.readline())
    a = [int(sys.stdin.readline()) for i in range(n)]

    if sum(a) == 0:
        print(0)
    elif sum(a) > 0:
        print("+")
    elif sum(a) < 0:
        print("-")
では、この二人の違いは何でしょうか.
inputは入力文字列を無条件に受信します.整数を入力しても.
a = input()
print(type(a))

sys = system
stdin = standard input
(標準の入出力データとメディアの総称.Unix Shellでは標準入力がキーボードに設定されているため、入力されたメディアがキーボードになります.)
readline=行単位で入力します.

1.差分メッセージ


input内蔵関数は、parameterとしてprompt messageを受信することができる.入力を受信する前にprompt message,sysを出力する必要があります.stdinおよびreadlineは、パラメータとしてプロンプトメッセージを受信しません.
  • プロンプトとは、ユーザがプロンプトの下でコマンドを入力したときに、タスクの処理中に必要な情報が不足した場合に、コマンドに他の必要な情報を入力するためにユーザに出力される情報を意味する.
  • 2.文字を書き換える


    inputは、rstrip()(文字列の末尾のスペースを除去する)の方法を含む.sysモジュールは含まれていませんが、入力時に最後のスペースを同時に入力できるという欠点があります.