Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 342
  • Last Modified:

Python plotting

Hi

Can anybody tell me why the following code won't work? I get a syntax error on

plt.figure()

This is the code:

import matplotlib.pyplot as plt
import math

def plotBinomial():
      prob = input( 'Enter probability of success: ')
      n = input( 'Enter the number of successes: ')
      Nmax = input( 'Enter the maximum number of trials: ')

      x = []
      y = []
      
      for N in range( n, Nmax + 1 ):
            x.append( N )
            y.append( probability( prob, n, N )
            
      plt.figure()
      plt.title( 'Varying N and probability p = ' + str( prob ) )
      plt.xlabel( 'N' )
      plt.ylabel( 'Probability' )
      plt.grid( True )
      plt.plot( x, y )
      plt.show()
      plt.close()

def probability( prob, n, N ):
    nCr = math.factorial( N ) / ( math.factorial( n ) * math.factorial( N - n ) )
    P = nCr * ( prob**n ) * ( 1 - prob )**( N - n )
    return P
0
IssacJones
Asked:
IssacJones
1 Solution
 
gelonidaCommented:
You forgot a closing parenthesis in the line before.


            y.append( probability( prob, n, N )

should be
            y.append( probability( prob, n, N ))

This is a rather classical issue with syntax checking.
The parser doesn't know whether you forgot the closing parenthesis or whether you wanted to write a multi-line statement.
0
 
IssacJonesAuthor Commented:
Excellent!
0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now