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

作者: shentotto (無名火)   2019-02-12 18:14:57
各位高手好小弟菜雞在練習習題時碰壁了
書裡的題目是這樣:
當你輸入正數時輸出負數,輸入負數時轉成正數,如果你輸入非數字時輸出"必須為數字"
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指令(單純抓數字)
可是這指令連負號都擋,這一擋造成我負數直接被踢掉
求解鈴人解惑
作者: pups003 (岡本)   2019-02-12 18:33:00
type(ss)?
作者: keepxha (hahahaha)   2019-02-12 18:33:00
如果只是要單純print負號 可以用format
作者: yangs0618 (阿彰)   2019-02-12 18:34:00
If type(eval(ss))可以嗎XD
作者: jack85408540 (小賤)   2019-02-12 18:40:00
用int(input())就好啦?
作者: keepxha (hahahaha)   2019-02-12 18:42:00
樓上正解,且編碼直接將輸入乘負號,不需要判斷式Try 排除非數字輸入
作者: djshen (djshen)   2019-02-12 19:43:00
沒判斷小數的情況 面試的話就下次再來了
作者: keepxha (hahahaha)   2019-02-12 20:21:00
float(input())

Links booklink

Contact Us: admin [ a t ] ucptt.com