fork download
  1. # Lp-norm.
  2.  
  3. def pdist(x1, y1, x2, y2, p):
  4. dx = abs(x2 - x1)
  5. dy = abs(y2 - y1)
  6. return pow(dx ** p + dy ** p, 1 / p)
  7.  
  8. def pcircle(r, p):
  9. print(f"p={p}")
  10. for y in range(-r, r+1, 2):
  11. for x in range(-r, r+1):
  12. print('*' if round(pdist(0, 0, x, y, p)) <= r else ' ', end='')
  13. print()
  14.  
  15. pcircle(12, 3/4)
  16. pcircle(12, 1)
  17. pcircle(12, 2)
  18. pcircle(12, 4)
Success #stdin #stdout 0.03s 9924KB
stdin
Standard input is empty
stdout
p=0.75
            *            
           ***           
          *****          
         *******         
       ***********       
    *****************    
*************************
    *****************    
       ***********       
         *******         
          *****          
           ***           
            *            
p=1
            *            
          *****          
        *********        
      *************      
    *****************    
  *********************  
*************************
  *********************  
    *****************    
      *************      
        *********        
          *****          
            *            
p=2
         *******         
     ***************     
   *******************   
  *********************  
 *********************** 
*************************
*************************
*************************
 *********************** 
  *********************  
   *******************   
     ***************     
         *******         
p=4
     ***************     
  *********************  
 *********************** 
*************************
*************************
*************************
*************************
*************************
*************************
*************************
 *********************** 
  *********************  
     ***************