exB: move slides into the exercise folder
A symlink is provided for compatibility.
This commit is contained in:
		
							parent
							
								
									8b58bbdef9
								
							
						
					
					
						commit
						ca3cf86e77
					
				
					 2 changed files with 41 additions and 40 deletions
				
			
		|  | @ -1,40 +0,0 @@ | |||
| # Computer scientists love the Fibonacci sequence | ||||
| # [https://en.wikipedia.org/wiki/Fibonacci_sequence], possibly | ||||
| # described by Acharya Pingala in छन्दःशास्त्र (Chhandaḥśāstra). | ||||
| # | ||||
| # The basic definition is that the next item in the sequence | ||||
| # if the sum of the two preceding items, and the two initial | ||||
| # items and 0 and 1. | ||||
| # | ||||
| # We end up with [0, 1, 1, 2, 3, 5, 8, 13, ...] | ||||
| 
 | ||||
| def fibbo(n): | ||||
|     match n: | ||||
|         case 0 | 1: | ||||
|             return n | ||||
|         case _: | ||||
|             return fibbo(n-1) + fibbo(n-2) | ||||
| 
 | ||||
| # For example: the first few items in the sequence: | ||||
| for n in range(36): | ||||
|     print(n, fibbo(n)) | ||||
| 
 | ||||
| # A (nowadays) less commonly used way to construct the mapping | ||||
| # from n to fibbo(n) is to use the map function. | ||||
| # map returns a generator, and we call list to collect the numbers: | ||||
| sequence = list(map(fibbo, range(36))) | ||||
| print(sequence) | ||||
| 
 | ||||
| # To split the work between multiple Python processes, we can | ||||
| # use the multiprocessing module: | ||||
| import multiprocessing | ||||
| 
 | ||||
| pool = multiprocessing.Pool() | ||||
| sequence = pool.map(fibbo, range(36)) | ||||
| print(sequence) | ||||
| 
 | ||||
| # We may use 'with' to clean up the pool after we're done with | ||||
| # the workers: | ||||
| with multiprocessing.Pool(10) as pool: | ||||
|     sequence = pool.map(fibbo, range(36)) | ||||
| print(sequence) | ||||
							
								
								
									
										1
									
								
								slides/map_example_codealong.py
									
										
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								slides/map_example_codealong.py
									
										
									
									
									
										Symbolic link
									
								
							|  | @ -0,0 +1 @@ | |||
| ../exercises/exerciseB/map_example_codealong.py | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue