If for flow control


In [43]:
def fib(x):
    """fibonacci function to return following numbers
    0 1 2 3 4 5
    1 1 2 3 5 8
    """
    if x==0:
        return(1,'normal output')
    if x==1:
        return(1,'normal output')
    if x>30:
        return(0,'error, > 30, fib can not handle')
    if x<>int(x):
        return(0,'error, fib could only accept integers')
    if x<0:
        return(0,'error, fib could only accept positive')
    
    return(fib(x-1)[0]+fib(x-2)[0],'normal output')


print fib(8)


(34, 'normal output')

In [44]:
a,b=fib(20)

In [45]:
print(a)
print(b)


10946
normal output

In [55]:
range(0,20)


Out[55]:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

In [61]:
#from numpy import linspace
for i in range(0,20):
    print i, fib(i)[0]


0 1
1 1
2 2
3 3
4 5
5 8
6 13
7 21
8 34
9 55
10 89
11 144
12 233
13 377
14 610
15 987
16 1597
17 2584
18 4181
19 6765

In [62]:
fib(6)


Out[62]:
(13, 'normal output')

In [54]:
x=input('input one number x :')
#y=input('input another number y: ')
if x>0:
    if  int(x)==x:
        print "positive and integer"
    else:
        print "positive and not integer"
else:
    print 'negative!'


input one number x :-8
negative!

In [52]:
5<3


Out[52]:
False

In [37]:
#from numpy import linspace
for i in range(-3,20):
    print str(i).rjust(5), str(fib(i)[0]).rjust(10), fib(i)[1].ljust(50)


   -3          0 error, fib could only accept positive             
   -2          0 error, fib could only accept positive             
   -1          0 error, fib could only accept positive             
    0          1 normal output                                     
    1          1 normal output                                     
    2          2 normal output                                     
    3          3 normal output                                     
    4          5 normal output                                     
    5          8 normal output                                     
    6         13 normal output                                     
    7         21 normal output                                     
    8         34 normal output                                     
    9         55 normal output                                     
   10         89 normal output                                     
   11        144 normal output                                     
   12        233 normal output                                     
   13        377 normal output                                     
   14        610 normal output                                     
   15        987 normal output                                     
   16       1597 normal output                                     
   17       2584 normal output                                     
   18       4181 normal output                                     
   19       6765 normal output                                     

In [57]:
a=(0,5,45,23)

In [59]:
a[2]


Out[59]:
45

In [5]:
for i in range(0,20):
    print " "* (30-i)+"*"*2*i
for i in range(10):
    print " "*27+"*"*6


                              
                             **
                            ****
                           ******
                          ********
                         **********
                        ************
                       **************
                      ****************
                     ******************
                    ********************
                   **********************
                  ************************
                 **************************
                ****************************
               ******************************
              ********************************
             **********************************
            ************************************
           **************************************
                           ******
                           ******
                           ******
                           ******
                           ******
                           ******
                           ******
                           ******
                           ******
                           ******

In [2]:
def christmas_tree(space=8,size=6):
    for i in range(0,size):
        print " "*space+" "* (size-i)+"*"*(2*i-1)
    for i in range(0,3):
        print " "*space+" "*(size-2)+'***'
christmas_tree(space=12,size=5)


                 
                *
               ***
              *****
             *******
               ***
               ***
               ***

In [4]:
import numpy as np
import time

for i in range(100):
    christmas_tree(int(abs((50*np.random.randn()))),int(abs((10*np.random.randn()))))
    time.sleep(0.3)


                                                                
                                                               ***
                                                               ***
                                                               ***
                                                                              
                                                                             *
                                                                            ***
                                                                            ***
                                                                            ***
                                                                            ***
                         ***
                         ***
                         ***
                                                          
                                                         *
                                                        ***
                                                       *****
                                                      *******
                                                     *********
                                                    ***********
                                                   *************
                                                  ***************
                                                        ***
                                                        ***
                                                        ***
                                             
                                            *
                                           ***
                                          *****
                                         *******
                                        *********
                                       ***********
                                      *************
                                           ***
                                           ***
                                           ***
                                                        
                                                       *
                                                      ***
                                                     *****
                                                    *******
                                                   *********
                                                  ***********
                                                 *************
                                                ***************
                                               *****************
                                              *******************
                                             *********************
                                            ***********************
                                           *************************
                                          ***************************
                                         *****************************
                                        *******************************
                                       *********************************
                                      ***********************************
                                     *************************************
                                    ***************************************
                                   *****************************************
                                                      ***
                                                      ***
                                                      ***
                                                                 
                                                                *
                                                               ***
                                                              *****
                                                             *******
                                                            *********
                                                               ***
                                                               ***
                                                               ***
                           
                          *
                         ***
                         ***
                         ***
                         ***
                                                                                      
                                                                                     ***
                                                                                     ***
                                                                                     ***
     ***
     ***
     ***
                                                                                                         
                                                                                                        ***
                                                                                                        ***
                                                                                                        ***
           
          *
         ***
         ***
         ***
         ***
                                             
                                            *
                                           ***
                                           ***
                                           ***
                                                                                
                                                                               *
                                                                              ***
                                                                             *****
                                                                              ***
                                                                              ***
                                                                              ***
                                                                                                                                            
                                                                                                                                           *
                                                                                                                                          ***
                                                                                                                                         *****
                                                                                                                                        *******
                                                                                                                                       *********
                                                                                                                                      ***********
                                                                                                                                     *************
                                                                                                                                    ***************
                                                                                                                                   *****************
                                                                                                                                  *******************
                                                                                                                                 *********************
                                                                                                                                ***********************
                                                                                                                               *************************
                                                                                                                              ***************************
                                                                                                                             *****************************
                                                                                                                            *******************************
                                                                                                                           *********************************
                                                                                                                          ***********************************
                                                                                                                         *************************************
                                                                                                                        ***************************************
                                                                                                                                          ***
                                                                                                                                          ***
                                                                                                                                          ***
                                                                                       
                                                                                      ***
                                                                                      ***
                                                                                      ***
                                           
                                          *
                                         ***
                                        *****
                                       *******
                                      *********
                                     ***********
                                         ***
                                         ***
                                         ***
                                            
                                           *
                                          ***
                                         *****
                                        *******
                                       *********
                                          ***
                                          ***
                                          ***
                                             
                                            *
                                           ***
                                          *****
                                         *******
                                        *********
                                       ***********
                                      *************
                                     ***************
                                    *****************
                                   *******************
                                  *********************
                                           ***
                                           ***
                                           ***
                                                     
                                                    *
                                                   ***
                                                  *****
                                                 *******
                                                *********
                                               ***********
                                              *************
                                             ***************
                                            *****************
                                           *******************
                                                   ***
                                                   ***
                                                   ***
                                                    
                                                   *
                                                  ***
                                                 *****
                                                *******
                                               *********
                                              ***********
                                             *************
                                            ***************
                                                  ***
                                                  ***
                                                  ***
                           
                          *
                         ***
                        *****
                       *******
                      *********
                     ***********
                    *************
                   ***************
                  *****************
                 *******************
                *********************
               ***********************
              *************************
             ***************************
                         ***
                         ***
                         ***
      
     *
    ***
   *****
  *******
    ***
    ***
    ***
                                                                                   ***
                                                                                   ***
                                                                                   ***
                                                                                                                                 
                                                                                                                                *
                                                                                                                               ***
                                                                                                                              *****
                                                                                                                             *******
                                                                                                                            *********
                                                                                                                               ***
                                                                                                                               ***
                                                                                                                               ***
                                                                        
                                                                       *
                                                                      ***
                                                                      ***
                                                                      ***
          
         ***
         ***
         ***
      
     ***
     ***
     ***
                                                                                                       
                                                                                                      *
                                                                                                     ***
                                                                                                    *****
                                                                                                   *******
                                                                                                  *********
                                                                                                 ***********
                                                                                                     ***
                                                                                                     ***
                                                                                                     ***
               
              *
             ***
             ***
             ***
                                       
                                      *
                                     ***
                                    *****
                                   *******
                                  *********
                                 ***********
                                     ***
                                     ***
                                     ***
     
    *
   ***
  *****
   ***
   ***
   ***
                                                                            
                                                                           ***
                                                                           ***
                                                                           ***
                                                     
                                                    *
                                                   ***
                                                  *****
                                                 *******
                                                *********
                                               ***********
                                              *************
                                             ***************
                                            *****************
                                           *******************
                                          *********************
                                         ***********************
                                        *************************
                                       ***************************
                                      *****************************
                                     *******************************
                                    *********************************
                                   ***********************************
                                  *************************************
                                 ***************************************
                                                   ***
                                                   ***
                                                   ***
                            
                           *
                          ***
                         *****
                        *******
                       *********
                      ***********
                     *************
                    ***************
                          ***
                          ***
                          ***
                                                                                         
                                                                                        *
                                                                                       ***
                                                                                      *****
                                                                                     *******
                                                                                    *********
                                                                                   ***********
                                                                                  *************
                                                                                 ***************
                                                                                *****************
                                                                                       ***
                                                                                       ***
                                                                                       ***
        
       *
      ***
     *****
    *******
   *********
      ***
      ***
      ***
                                         
                                        *
                                       ***
                                      *****
                                     *******
                                    *********
                                   ***********
                                       ***
                                       ***
                                       ***
                                                                                               
                                                                                              *
                                                                                             ***
                                                                                            *****
                                                                                           *******
                                                                                          *********
                                                                                         ***********
                                                                                        *************
                                                                                       ***************
                                                                                      *****************
                                                                                     *******************
                                                                                    *********************
                                                                                             ***
                                                                                             ***
                                                                                             ***
                                                   
                                                  *
                                                 ***
                                                *****
                                               *******
                                              *********
                                             ***********
                                            *************
                                           ***************
                                          *****************
                                         *******************
                                        *********************
                                       ***********************
                                      *************************
                                     ***************************
                                    *****************************
                                   *******************************
                                                 ***
                                                 ***
                                                 ***
                                                                               
                                                                              *
                                                                             ***
                                                                            *****
                                                                           *******
                                                                          *********
                                                                         ***********
                                                                        *************
                                                                       ***************
                                                                      *****************
                                                                     *******************
                                                                    *********************
                                                                   ***********************
                                                                  *************************
                                                                 ***************************
                                                                *****************************
                                                                             ***
                                                                             ***
                                                                             ***
                      ***
                      ***
                      ***
                                            
                                           *
                                          ***
                                          ***
                                          ***
                                             
                                            *
                                           ***
                                          *****
                                         *******
                                        *********
                                       ***********
                                      *************
                                     ***************
                                    *****************
                                   *******************
                                  *********************
                                 ***********************
                                *************************
                               ***************************
                              *****************************
                             *******************************
                            *********************************
                           ***********************************
                          *************************************
                         ***************************************
                        *****************************************
                       *******************************************
                      *********************************************
                     ***********************************************
                    *************************************************
                   ***************************************************
                  *****************************************************
                 *******************************************************
                                           ***
                                           ***
                                           ***
                             ***
                             ***
                             ***
                                   
                                  *
                                 ***
                                *****
                               *******
                              *********
                             ***********
                                 ***
                                 ***
                                 ***
                                                                              
                                                                             *
                                                                            ***
                                                                           *****
                                                                          *******
                                                                         *********
                                                                        ***********
                                                                       *************
                                                                      ***************
                                                                     *****************
                                                                    *******************
                                                                   *********************
                                                                  ***********************
                                                                 *************************
                                                                ***************************
                                                               *****************************
                                                              *******************************
                                                             *********************************
                                                                            ***
                                                                            ***
                                                                            ***
                                                          
                                                         *
                                                        ***
                                                       *****
                                                      *******
                                                     *********
                                                    ***********
                                                   *************
                                                  ***************
                                                 *****************
                                                *******************
                                               *********************
                                              ***********************
                                             *************************
                                            ***************************
                                           *****************************
                                          *******************************
                                         *********************************
                                        ***********************************
                                       *************************************
                                      ***************************************
                                     *****************************************
                                    *******************************************
                                                        ***
                                                        ***
                                                        ***
                                                                            
                                                                           *
                                                                          ***
                                                                         *****
                                                                        *******
                                                                       *********
                                                                      ***********
                                                                     *************
                                                                    ***************
                                                                   *****************
                                                                          ***
                                                                          ***
                                                                          ***
                                                                    
                                                                   *
                                                                  ***
                                                                 *****
                                                                *******
                                                               *********
                                                              ***********
                                                             *************
                                                            ***************
                                                           *****************
                                                          *******************
                                                         *********************
                                                                  ***
                                                                  ***
                                                                  ***
                    
                   ***
                   ***
                   ***
                              
                             *
                            ***
                           *****
                          *******
                         *********
                            ***
                            ***
                            ***
                                              
                                             *
                                            ***
                                           *****
                                          *******
                                         *********
                                        ***********
                                       *************
                                      ***************
                                            ***
                                            ***
                                            ***
                                  
                                 *
                                ***
                               *****
                              *******
                             *********
                            ***********
                           *************
                          ***************
                         *****************
                        *******************
                       *********************
                      ***********************
                     *************************
                    ***************************
                                ***
                                ***
                                ***
                                     
                                    *
                                   ***
                                  *****
                                 *******
                                *********
                                   ***
                                   ***
                                   ***
           
          ***
          ***
          ***
       
      *
     ***
    *****
     ***
     ***
     ***
                       
                      *
                     ***
                    *****
                   *******
                  *********
                 ***********
                     ***
                     ***
                     ***
          
         *
        ***
       *****
      *******
     *********
    ***********
   *************
        ***
        ***
        ***
          ***
          ***
          ***
                                                        
                                                       *
                                                      ***
                                                      ***
                                                      ***
                           
                          *
                         ***
                         ***
                         ***
                         ***
                
               *
              ***
             *****
            *******
           *********
          ***********
         *************
        ***************
       *****************
      *******************
     *********************
    ***********************
   *************************
  ***************************
              ***
              ***
              ***
           
          *
         ***
         ***
         ***
                                                               
                                                              *
                                                             ***
                                                            *****
                                                           *******
                                                          *********
                                                         ***********
                                                             ***
                                                             ***
                                                             ***
           
          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
 *******************
         ***
         ***
         ***
                                         
                                        ***
                                        ***
                                        ***
                                                          ***
                                                          ***
                                                          ***
   
  ***
  ***
  ***
                                                                                              ***
                                                                                              ***
                                                                                              ***
     
    *
   ***
  *****
   ***
   ***
   ***
                                                 
                                                *
                                               ***
                                              *****
                                             *******
                                            *********
                                               ***
                                               ***
                                               ***
                                                                                                            
                                                                                                           ***
                                                                                                           ***
                                                                                                           ***
                                 ***
                                 ***
                                 ***
   
  ***
  ***
  ***
                                                                           
                                                                          ***
                                                                          ***
                                                                          ***
                                              
                                             *
                                            ***
                                           *****
                                          *******
                                         *********
                                        ***********
                                       *************
                                      ***************
                                     *****************
                                            ***
                                            ***
                                            ***
                                                                            
                                                                           *
                                                                          ***
                                                                          ***
                                                                          ***
                                                                          ***
                 
                *
               ***
              *****
             *******
            *********
               ***
               ***
               ***
                                                                           
                                                                          *
                                                                         ***
                                                                         ***
                                                                         ***
                                                                         ***
                                      
                                     *
                                    ***
                                   *****
                                  *******
                                 *********
                                ***********
                               *************
                              ***************
                             *****************
                            *******************
                           *********************
                          ***********************
                         *************************
                        ***************************
                       *****************************
                      *******************************
                     *********************************
                                    ***
                                    ***
                                    ***
                                                                   
                                                                  *
                                                                 ***
                                                                *****
                                                                 ***
                                                                 ***
                                                                 ***
                                                                              
                                                                             *
                                                                            ***
                                                                           *****
                                                                          *******
                                                                         *********
                                                                        ***********
                                                                            ***
                                                                            ***
                                                                            ***
                                            
                                           *
                                          ***
                                         *****
                                        *******
                                       *********
                                      ***********
                                     *************
                                    ***************
                                   *****************
                                  *******************
                                 *********************
                                ***********************
                               *************************
                              ***************************
                             *****************************
                                          ***
                                          ***
                                          ***
                                                
                                               *
                                              ***
                                             *****
                                              ***
                                              ***
                                              ***
           
          *
         ***
        *****
       *******
      *********
     ***********
    *************
   ***************
  *****************
         ***
         ***
         ***
                                                                          
                                                                         *
                                                                        ***
                                                                       *****
                                                                      *******
                                                                     *********
                                                                    ***********
                                                                   *************
                                                                  ***************
                                                                 *****************
                                                                *******************
                                                               *********************
                                                              ***********************
                                                             *************************
                                                            ***************************
                                                           *****************************
                                                          *******************************
                                                         *********************************
                                                        ***********************************
                                                       *************************************
                                                      ***************************************
                                                     *****************************************
                                                    *******************************************
                                                                        ***
                                                                        ***
                                                                        ***
                                       
                                      *
                                     ***
                                    *****
                                   *******
                                  *********
                                 ***********
                                *************
                               ***************
                              *****************
                             *******************
                                     ***
                                     ***
                                     ***
       
      *
     ***
    *****
     ***
     ***
     ***
                                
                               *
                              ***
                             *****
                            *******
                           *********
                          ***********
                         *************
                        ***************
                       *****************
                      *******************
                              ***
                              ***
                              ***
                                                    
                                                   *
                                                  ***
                                                 *****
                                                  ***
                                                  ***
                                                  ***
                                             
                                            *
                                           ***
                                          *****
                                         *******
                                        *********
                                           ***
                                           ***
                                           ***
                   
                  *
                 ***
                *****
               *******
              *********
             ***********
            *************
           ***************
          *****************
         *******************
        *********************
       ***********************
      *************************
     ***************************
    *****************************
   *******************************
  *********************************
                 ***
                 ***
                 ***
                                                    
                                                   *
                                                  ***
                                                 *****
                                                *******
                                               *********
                                              ***********
                                             *************
                                            ***************
                                           *****************
                                          *******************
                                         *********************
                                        ***********************
                                                  ***
                                                  ***
                                                  ***
                                                         
                                                        *
                                                       ***
                                                      *****
                                                       ***
                                                       ***
                                                       ***
                                                                            
                                                                           *
                                                                          ***
                                                                         *****
                                                                        *******
                                                                       *********
                                                                      ***********
                                                                     *************
                                                                    ***************
                                                                          ***
                                                                          ***
                                                                          ***
       
      *
     ***
    *****
   *******
     ***
     ***
     ***
                                      
                                     ***
                                     ***
                                     ***
                          
                         *
                        ***
                        ***
                        ***
                
               *
              ***
             *****
            *******
           *********
          ***********
         *************
        ***************
       *****************
      *******************
              ***
              ***
              ***

In [64]:
print int(abs((10*np.random.randn())))


6

In [ ]: