看板 Python 關於我們 聯絡資訊
各位高手好小弟菜雞在練習習題時碰壁了 書裡的題目是這樣: 當你輸入正數時輸出負數,輸入負數時轉成正數,如果你輸入非數字時輸出"必須為數字" http://i.imgur.com/lLGL13w.jpg 圖片 ss = input("請輸入數字") if ss.isdigit(): if ss > 0: print(int(ss) * -1) elif ss < 0: print(int(ss) * -1) else: print("0") else: print("必須為數字") 書上並沒有教如何分字串和數字判斷的語法 所以在網路上找到.isdigit指令(單純抓數字) 可是這指令連負號都擋,這一擋造成我負數直接被踢掉 求解鈴人解惑 ----- Sent from JPTT on my HTC_M9u. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.10.163 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1549966508.A.16D.html
pups003: type(ss)? 02/12 18:33
keepxha: 如果只是要單純print負號 可以用format 02/12 18:33
yangs0618: If type(eval(ss))可以嗎XD 02/12 18:34
jack85408540: 用int(input())就好啦? 02/12 18:40
keepxha: 樓上正解,且編碼直接將輸入乘負號,不需要判斷式 02/12 18:42
keepxha: Try 排除非數字輸入 02/12 18:42
djshen: 沒判斷小數的情況 面試的話就下次再來了 02/12 19:43
keepxha: float(input()) 02/12 20:21