作者kse49307 (沉默)
看板Python
標題[問題] 將list輸出成單字符
時間Sun Oct 9 14:15:05 2016
剛踏入python的世界 版本是python 3
在練習input三數 print成依順序排列的3數
但是卡在答案輸出格式不對
我寫的程式碼如下
a = (input())
s1,s2,s3 = a.split()
s1,s2,s3 = int(s1),int(s2),int(s3)
a = [s1,s2,s3]
a.sort()
print (a)
輸入 1 5 2 要print出 1 2 5
現在寫的語法會變成[1,2,5]
多了[]跟,
卡在這個部份兩天了 程度還很差只會很基礎的語法
有爬文也有上網看過相關資料
大部分看到的語法都還沒學到(不理解用法)
推測應該是要把list 轉輸出成 3個單字 再print
但不知道應該怎麼轉譯
希望可以在這裡獲得指導
可以不用跟我說答案沒關係,我只是需要有人告訴我我錯在哪部分
我才知道要從哪裡重新思考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.230.84
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1475993708.A.085.html
1F:→ devil1004: 我也是新手 是第4行 排列順序錯誤嗎10/09 14:27
排列應該是正確的,因為答案是對的,只是格式不對(?
※ 編輯: kse49307 (36.227.230.84), 10/09/2016 14:41:56
2F:→ alibuda174: 沒有錯啊,a是list,會以[]包住裏頭的東西10/09 14:41
3F:→ alibuda174: 試試 print(a[0], a[1], a[2])10/09 14:42
成功了,Print出1 2 5
確實我沒想到可以單一輸出位置裡的單元
感謝指導!
4F:推 BlueKidds: a你設定是list, print出來就是list10/09 14:42
※ 編輯: kse49307 (36.227.230.84), 10/09/2016 14:44:35
5F:→ alibuda174: 試試 for x in a: print(x, end=' ')10/09 14:44
這個語法會變成125,少了單元間的空格
※ 編輯: kse49307 (36.227.230.84), 10/09/2016 14:46:34
6F:→ alibuda174: s1,s2,s3 = a; print(s1, s2, s3)10/09 14:45
這個答案正確! 真的很感謝大家願意指導
※ 編輯: kse49307 (36.227.230.84), 10/09/2016 14:47:59
7F:→ alibuda174: print(x, end=' ') 其中' '裡有一個空格喔 10/09 14:51
8F:→ kse49307: 原來是這樣,那答案一樣是正確的,感謝! 10/09 15:36
9F:→ Typebrook: 內建的*運算符明明很棒... print(*a) 10/09 16:59
10F:推 Yshuan: print ' '.join(str(a) 10/09 18:02
11F:→ alibuda174: _ = [print(x, end=' ') for x in a] 10/09 18:35
12F:→ alibuda174: print(' '.join(str(x) for x in a)) 10/09 18:35
13F:→ alibuda174: print(''.join(map(lambda x: str(x)+' ', a))) 10/09 18:37
14F:→ alibuda174: (lambda a, s, p: print(s) if a==[] else p(a[1:], 10/09 18:52
15F:→ alibuda174: s+(' ' if s else '')+str(a[0]), p) 10/09 18:53
16F:→ alibuda174: )(a, '', lambda a, s, p: print(s) if a==[] else p( 10/09 18:53
17F:→ alibuda174: a[1:], s+(' ' if s else '')+str(a[0]), p)) 10/09 18:53
18F:推 tsoahans: print(*sorted(int(i) for i in input().split())) 10/10 07:35