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