班主任有花里胡哨,要搞活动。上次的活动,我要算两组数据,每组数据7个数。这次,我要算不下五十组数据,每组9个数。还要去最高和最低分,没有Python大概会累死。上次写了一个辣鸡代码,忘了它的,昨天又写了一个,绝对好用,把上次的bug全填上了。
其实也就31行
这里用了一个新语法――try......except判断浮点数。这个语法是我昨天上网搜判断数字的时候看到的,用法:如果try下面的代码不报错,就执行try的代码,跳过except的部分;如果报错,则执行except部分的代码。
line8-11和line25,26就可以组成一个判断浮点数的代码。将代码翻译成人话就是,将输入的字符串赋值为xn,如果能转化为整数,或含有小数点 . ,则将xn强制转化为浮点数。此时,如果输入1.w,它不是数字,但含有小数点,是能过line10的要求,但它不能转化为浮点数,就会报错,跳到except部分,提示数字错误。这就是原理,其实很简单。还有,except部分被标记了并不是说这里错了,事实是Pydroid3在告诉你,except可以接报错的类型,不过这个语法我还没有深入学习,只能介绍这么多。
这个键盘也验证了,Pydroid3不能输中文(详情见我的上一篇专栏)
对于我这个算平均数的代码而言,line14是必不可少的,只有当中的n≥3,才满足条件,否则会跳到line24,提示出错(因为我这个是去最高个最低值的代码)。
其实,当输入负数的时候,负数是不能被转成浮点数的,因为isdigit会pass掉负号(当然,小数点也不会放过),这时候可以在line10加上一个 or - in xn 考虑到是算平均数,觉得没有必要,我就没加。
就这么多。
本文为我原创