[问题] 负数如何进循环判断?

楼主: 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