[問題] 負數如何進迴圈判斷?

看板Python作者 (無名火)時間6年前 (2019/02/12 18:15), 編輯推噓5(503)
留言8則, 5人參與, 6年前最新討論串1/2 (看更多)
各位高手好小弟菜雞在練習習題時碰壁了 書裡的題目是這樣: 當你輸入正數時輸出負數,輸入負數時轉成正數,如果你輸入非數字時輸出"必須為數字" 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

02/12 18:33, 6年前 , 1F
type(ss)?
02/12 18:33, 1F

02/12 18:33, 6年前 , 2F
如果只是要單純print負號 可以用format
02/12 18:33, 2F

02/12 18:34, 6年前 , 3F
If type(eval(ss))可以嗎XD
02/12 18:34, 3F

02/12 18:40, 6年前 , 4F
用int(input())就好啦?
02/12 18:40, 4F

02/12 18:42, 6年前 , 5F
樓上正解,且編碼直接將輸入乘負號,不需要判斷式
02/12 18:42, 5F

02/12 18:42, 6年前 , 6F
Try 排除非數字輸入
02/12 18:42, 6F

02/12 19:43, 6年前 , 7F
沒判斷小數的情況 面試的話就下次再來了
02/12 19:43, 7F

02/12 20:21, 6年前 , 8F
float(input())
02/12 20:21, 8F
文章代碼(AID): #1SOfoi5j (Python)
討論串 (同標題文章)
文章代碼(AID): #1SOfoi5j (Python)