Python3の標準出力で数字を空白で区切って出力したかった話
また休日にpaizaスキルチェックを受けている。
今回は数字を空白で区切って出力しろって問題を解いてた。
標準出力はprint()使うのはいいとして、どうやって区切るんやろ…endオプションでつなげるんかな…
print(i , end = " ")
これでいけるやんと思って提出前の動作確認したら、wrong answerって言われた…そうか…これやと最後にも半角の空白が入るからあかんやなと思って、こう書いてみた。
for i in range(x, y) #x,yは任意の数字
if 条件式: #最後以外はこっち
print(i , end = " ")
else: #最後だけ
print(i)
う、うんこみたいなコードが出来てしまった…。これはさすがにまずいでぇと思ったけど、スキルチェックって時間が決まってて、早く出さんとあかんから、とりあえずこれで提出した。
さすがにこんな書き方はまずいと思ったから調べてみたら、なんかリストに1回結果を入れて、それを半角空白でつなぐ方法があるらしい。多分こう書けばよかったんやろな。
list1 = [str(i) for i in range(x,y)] #x,yは任意の数字
print(" ".join(i))
さっきよりはきれいになった。よかったぁ、ちょっと嬉しい。1行目でstr()ってしてるのは、半角空白でつなげるには文字列じゃないとあかんから。