绕过零除法

2024-10-01 07:50:17 发布

您现在位置:Python中文网/ 问答频道 /正文

如何绕过zero division错误并允许程序在记录0值的同时继续?在

for line in data:
  split=line.split()
  ptot=0
  ntot=0
  for pchar in "HKR":
    pchartotal=split[1].count(pchar)
    #print pchartotal
    ptot+=pchartotal
  for nchar in "DE":
    nchartotal=split[1].count(nchar)
    #print nchartotal
    ntot+=nchartotal
  print float(ptot)/float(ntot)

Tags: inforcountlinefloatdivisionsplitprint
3条回答

您可以使用try-except

for line in data:
  split=line.split()
  ptot=0
  ntot=0
  for pchar in "HKR":
    pchartotal=split[1].count(pchar)
    #print pchartotal
    ptot+=pchartotal
  for nchar in "DE":
    nchartotal=split[1].count(nchar)
    #print nchartotal
    ntot+=nchartotal
  try:
    print float(ptot)/float(ntot)
  except ZeroDivisionError :
    print "ZeroDivisionError: integer division or modulo by zero"

您可以使用try{..} except{..}

try:
    print float(ptot)/float(ntot)
except ZeroDivisionError:
   print 'divide by zero'

Handling Exceptions

更改此项:

print float(ptot)/float(ntot)

^{pr2}$

相关问题 更多 >