Python使用int函数

时间:2016-07-19 19:02:15

标签: python integer

由于第7行value = int(qty)*int(price),我无法运行下面的代码。如果我在int()函数中使用print()函数,我只能运行它。在我要求它打印之前,有没有办法可以定义它是一个整数? 浮动

相同
file = open("C:\\file.txt","r")
for mid in file:
    qty = mid[38:53]
    qty = qty.lstrip("0")
    price = mid[75:86]
    price = price.lstrip("0")
    value = int(qty)*int(price)
    trades = [qty,price,value]
    print (trades)
file.close()

壳 - >

  

ValueError:基数为10的int()的文字无效:''

2 个答案:

答案 0 :(得分:0)

正在发生的事情是,您的某个项目的价格或数量设置为0.当您在代码条中读取0时会留下一个空字符串,当它转换为int时会引发ValueError。

你应该删除lstrips。在最坏的情况下,你会得到像“04”这样的数字,int构造函数无论如何都可以处理它。

答案 1 :(得分:0)

如果字符串无效,则以下函数返回整数值或None:

def parseInt(ss):
    try:
        return int(ss)
    except:
        return None

使用此函数检查字符串是否为整数:

for mid in file:
    qty = mid[38:53]
    qty = qty.lstrip("0")
    qty = parseInt(qty)

    price = mid[75:86]
    price = price.lstrip("0")
    price = parseInt(price)

    if qty != None and price != None:
        value = qty*price
        trades = [qty,price,value]
        print (trades)
file.close()