Discuss / Python / 改错

改错

Topic source

题目中就是因为有个7.6,在int('7.6')的时候出错了。可以直接将int(s)改成float(s),强制将所有数字都变成浮点数,运行就正常了。

另一种是判断一下,其中有小数点的变成浮点,没有的小数点的变成整数。如下所示。运行也正常。

def str2num(s):

    if s.find('.'):

        return float(s)

    else:

        return int(s)

阿杰1874

#2 Created at ... [Delete] [Delete and Lock User]

楼上使用 find() 方法判断有问题。如果没有小数点,则返回 -1 ,而 if -1 结果是 True,所以应该使用 if '.' in s,判断 s 中是否包含小数点。

冯征sh

#3 Created at ... [Delete] [Delete and Lock User]

你这种答案虽然结果正确但仍然是判0分的。

因为这次的测试是关于捕获报错信息的try、except、finally语句的练习,你的回答完全没有用到这些语句。


  • 1

Reply