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

作者: yeuan (心要夠堅定)   2019-02-14 08:47:54
s = input("Enter a number: ")
try:
print(float(s) * -1)
except:
print("Your input should be a number.")
※ 引述《shentotto (無名火)》之銘言:
: 各位高手好小弟菜雞在練習習題時碰壁了
: 書裡的題目是這樣:
: 當你輸入正數時輸出負數,輸入負數時轉成正數,如果你輸入非數字時輸出"必須為數字"
: 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指令(單純抓數字)
: 可是這指令連負號都擋,這一擋造成我負數直接被踢掉
: 求解鈴人解惑
:
作者: talltallyo (糖份)   2019-02-14 10:38:00
float的地方改用eval會不會比較好呢?
作者: uranusjr (←這人是超級笨蛋)   2019-02-14 11:49:00
不會
作者: djshen (djshen)   2019-02-14 11:50:00
user隨便輸入的東西你敢eval?
作者: Raymond0710 (雷門)   2019-02-15 09:44:00
別亂用 eval, user輸入個rm -rf / 就慘了
作者: talltallyo (糖份)   2019-02-15 10:53:00
感謝各位大大!
作者: shentotto (無名火)   2019-02-18 17:04:00
襪靠 大大妳這指令好猛喔,我想了好幾個小時打出來的標點符號還會發生錯誤http://i.imgur.com/aBEcpYL.jpg只有基本的字母和正負數字判斷的功能而已

Links booklink

Contact Us: admin [ a t ] ucptt.com