看板 Python 關於我們 聯絡資訊
目前比較直覺的寫法是這樣 keyIn = raw_input() try: int(keyIn) except ValueError: print 'some of the input is not digit' 請問 有更好的寫法嗎@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.45.43
plover:float(keyIn) ((光速逃)) 12/10 23:00
uranusjr:這樣寫很直觀啊, 不好嗎 12/10 23:02
plover:如果是只每個char是0-9,那要考慮 '-' and '+' 12/10 23:02
EntHeEnd:對齁 比較一般的如plove板友所說 (我忘了說是整數XD) 12/10 23:03
plover:還有 None, 因為 int() 會回傳 0 12/10 23:04
uranusjr:如果只有整數而且不會有負號(也就是說你想判斷「是否每 12/10 23:04
plover:(當然 None 的每個char都是0-9) 12/10 23:05
uranusjr:個字員都是阿拉伯數字」那麼 str 有個 isdigit() 方法 12/10 23:05
EntHeEnd:hmm... 12/10 23:05
EntHeEnd:喔喔 了解 這樣語意也比較清楚! 12/10 23:06
EntHeEnd:謝謝p板友和u板友 ^^ 忽然發現有些情況我沒考慮到(雖然不 12/10 23:07
EntHeEnd:會遇到) 例如int()這種... 12/10 23:07
EntHeEnd:如果用isdigit()的好處是 可以自己raise exception... 12/10 23:08
EntHeEnd:比較好處理一些情況^^ 12/10 23:08
plover:int(None) 會有 error, 再更正一次 orz... 12/10 23:08
EntHeEnd:恩恩... 謝謝討論! 12/10 23:09
legnaleurc:何不用 re? 12/11 16:10
uranusjr:↑Overkilling 12/11 21:04