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関数を使えばもっとスマートにできそうな気がする。