作者shentotto (無名火)
看板Python
標題[問題] 負數如何進迴圈判斷?
時間Tue Feb 12 18:14:57 2019
各位高手好小弟菜雞在練習習題時碰壁了
書裡的題目是這樣:
當你輸入正數時輸出負數,輸入負數時轉成正數,如果你輸入非數字時輸出"必須為數字"
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