getting ZeroDivisionError: integer division or modulo by zero

2024/11/16 11:41:45

I had written a simple pascal triangle code in python but I am getting a error

def factorial(n):c=1re=1for c in range(n):re = re * c;return(re)print "Enter how many rows of pascal triangle u want to show \n"
n=input();
i=1
c=1
for i in range(n):for c in range(n-i-1):print ""for c in range(i):a = factorial(i);b = factorial(c);d = factorial(i-c);z = (a/(b*d));print "%d" % zprint "\n"

ERROR:

Traceback (most recent call last):File "/home/tanmaya/workspace/abc/a.py", line 19, in <module>z = (a/(b*d));
ZeroDivisionError: integer division or modulo by zero
Answer

Your factorial() function returns 0 for any input because of how you defined your range.

The range builtin starts at 0 unless otherwise defined so:

for c in range(n):re = re * c  # no semicolons in Python

is doing:

re = re * 0

on the first iteration so for all subsequent iterations:

re = 0 * c

will always be 0

Start your range at 1 like so

for c in range(1, n):re *= c  # The *= operator is short hand for a = a * b

you can see this more explicityly:

>>> print(list(range(5)))
[0, 1, 2, 3, 4]
>>> print(list(range(1,5)))
[1, 2, 3, 4]
>>> 

or instead of rolling your own function use the one that comes with Python:

>>> from math import factorial
>>> factorial(3)
6

Upon closer reading of your code it seems you tried to circumvent this by setting c = 1 outside your for loop. This is not going to work because the variables you declared outside the loop are being reassigned inside it.

https://en.xdnf.cn/q/120329.html

Related Q&A

How to scrape images from a website and display them on html file?

I am scraping images from https://www.open2study.com/courses I got all the image sources but dont know how to display the images (instead of links) on a table with 2 column ( one column for title and o…

Multiple files comparing using python [closed]

Its difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying thi…

parsing interactive broker fundamental data

Ive successfully pulled data from IB using the api. It comes in XML format and it looks like this...<TotalRevenues currency="USD"><TotalRevenue asofDate="2017-12-31" report…

How to format HTTP request to discord API?

While this code works, it sends "Bad Request". import socket, ssl token = NzMyMzQ1MTcwNjK2MTR5OEU3.XrzQug.BQzbrckR-THB9eRwZi3Dn08BWrM HOST = "discord.com" PORT = 443 t = POST / HTTP…

Python 3.30 TypeError: object of type int has no len() [closed]

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable…

Is it possible to disable negative indexing? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.Want to improve this question? Add details and clarify the problem by editing this post.Closed 7 years ago.Improve…

Google Colab Notebook completely freezes when training a YOLO model

I am following a tutorial to train custom object detection model using YOLO. This is the tutorial and also where I got the Notebook Everything works fine until the training bit which is the last cell. …

Generate 4 columns of data such that each row sum to 100

How do I write a python program that can randomly generate 4 columns of data such that the sum of the numbers of each row is 100?

Nan to Num Python

I have multiple array that for those I calculate a linear regression, but sometimes it gives me 0/0 values which gives me a NaN. I know that to convert an array where there are numbers that are NaN you…

Class constructor able to init with an instance of the same class object

Can python create a class that can be initialised with an instance of the same class object?Ive tried this:class Class(): def __init__(self,**kwargs):print selfself = kwargs.get(obj,self)print selfif …