YURU_DB

OracleDB / AOJ(python)

ITP1_3_C: Swapping Two Numbers (python)

問題

2 つの数の交換

2つの整数 x, y を読み込み、それらを値が小さい順に出力するプログラムを作成して下さい。
ただし、この問題は以下に示すようにいくつかのデータセットが与えられることに注意して下さい。

Input

入力は複数のデータセットから構成されています。
各データセットは空白で区切られた2つの整数 x, y を含む1行から構成されています。
x と y がともに 0 のとき入力の終わりを示し、このデータセットに対する出力を行ってはいけません。

Output

各データセットごとに、x と y を小さい順に並べたものを1行に出力して下さい。
x と y の間には1つの空白を入れて下さい。

Constraints

0 ≤ x, y ≤ 10,000
データセットの数は 3,000 を超えない。

回答

while True:
    x,y = map(int,raw_input().split(" "))
    if (x,y) == (0,0): 
        break
    elif (x < y):
        print x, y
    else :
        print y, x

説明

・x,y 二つの変数にint型を格納。
・if文について:
 x,y両方とも0ならループを抜ける。
 x<yなら x,yの順番で表示。
y<xなら y,xの順番で表示。

雑感

printさせる方法については
sorted関数を使えばもっとスマートにできそうな気がする。