fork(2) download
  1. from math import fabs
  2.  
  3.  
  4. def left_windmill(tab):
  5. for line in range(2 * r):
  6. for row in range(2 * r):
  7. if line in range(r):
  8. if row in range(line + 1, r): # górny lewy
  9. tab[line][row] = '.'
  10.  
  11. if row in range(2 * r - line, 2 * r): # górny lewy
  12. tab[line][row] = '.'
  13.  
  14. if line in range(r + 1, 2 * r): # dolny prawy
  15. if row in range(r, line):
  16. tab[line][row] = '.'
  17.  
  18. if row in range(0, 2 * r - line - 1) and line >= r: # dolny lewy
  19. tab[line][row] = '.'
  20.  
  21. return tab
  22.  
  23.  
  24. def right_windmill(tab):
  25. for line in range(2 * r):
  26. for row in range(2 * r):
  27. if line in range(r):
  28. if row in range(r, 2 * r - 1 - line): # prawy górny
  29. tab[line][row] = '.'
  30.  
  31. if row in range(0, line): # górny lewy
  32. tab[line][row] = '.'
  33.  
  34. if line in range(r + 1, 2 * r):
  35. if row in range(2 * r - line, r): # lewy dolny
  36. tab[line][row] = '.'
  37.  
  38. if row in range(line + 1, 2 * r) and line >= r: # prawy dolny
  39. tab[line][row] = '.'
  40.  
  41. return tab
  42.  
  43.  
  44. test = 1
  45.  
  46. while test != 0:
  47. test = int(input())
  48.  
  49. r = int(fabs(test))
  50. windmill = [["*"] * r * 2 for i in range(2 * r)]
  51.  
  52. if test > 0:
  53. windmill = left_windmill(windmill)
  54. if test < 0:
  55. windmill = right_windmill(windmill)
  56.  
  57. result = []
  58.  
  59. for i in windmill:
  60. result.append("".join(i))
  61.  
  62. for k in result:
  63. print(k)
  64. print('')
  65.  
  66.  
  67.  
Success #stdin #stdout 0.02s 9540KB
stdin
3
-4
10
-10
0
stdout
*..***
**.**.
****..
..****
.**.**
***..*

****...*
.***..**
..**.***
...*****
*****...
***.**..
**..***.
*...****

*.........**********
**........*********.
***.......********..
****......*******...
*****.....******....
******....*****.....
*******...****......
********..***.......
*********.**........
***********.........
.........***********
........**.*********
.......***..********
......****...*******
.....*****....******
....******.....*****
...*******......****
..********.......***
.*********........**
**********.........*

**********.........*
.*********........**
..********.......***
...*******......****
....******.....*****
.....*****....******
......****...*******
.......***..********
........**.*********
.........***********
***********.........
*********.**........
********..***.......
*******...****......
******....*****.....
*****.....******....
****......*******...
***.......********..
**........*********.
*.........**********