×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#26672: [Python]進階的玩法 sys.stdin.buffer + for
406490150@gms.tku.edu.tw
(我是朱朱)
學校 : 國立交通大學
編號 : 139794
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
f035.
最佳隊名獎
--
板橋高中
Python
教學題
| From: [1.174.76.48] | 發表日期 : 2021-08-19 19:44
平常都是使用input()作為輸入的手段
使用sys.stdin是比較進階的用法,放在for-loop會每次讀取一行,並且包含換行符號'\n',輸出是str
而另外一個sys.stdin.buffer,則會讀取成bytes,而bytes在Python的迴圈中會自動變成int,就不需要再使用ord轉換
例如:
x = b'abc'
for num in x:
print(num)
會輸出 97 98 99
說這麼多,那要怎麼使用呢?sys.stdin.buffer、sys.stdin大致上有三種讀法
.read() 把所有測資都讀起來,例如: '第一行\n第二行\n第三行\n'
.readline() 讀取一行,包含換行符號,例如: '第三行\n'
.readlines() 把所有測資都讀起來,並且已經將每行分離,例如: ['第一行\n', '第二行\n', '第三行\n']
以這題來說,你可以改寫x,基本上答案就呼之欲出了,玩玩看吧~
ZeroJudge Forum