作者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://webptt.com/cn.aspx?n=bbs/Python/M.1549966508.A.16D.html
1F:→ pups003: type(ss)? 02/12 18:33
2F:推 keepxha: 如果只是要单纯print负号 可以用format 02/12 18:33
3F:推 yangs0618: If type(eval(ss))可以吗XD 02/12 18:34
4F:推 jack85408540: 用int(input())就好啦? 02/12 18:40
5F:推 keepxha: 楼上正解,且编码直接将输入乘负号,不需要判断式 02/12 18:42
6F:→ keepxha: Try 排除非数字输入 02/12 18:42
7F:→ djshen: 没判断小数的情况 面试的话就下次再来了 02/12 19:43
8F:推 keepxha: float(input()) 02/12 20:21