Mr_D3a1h

Hm4

Dec 4th, 2021 (edited)
271
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Задания 25.1, 25.2, 25.4
  2. import random
  3. import string
  4.  
  5. def pass_check(pass, m):
  6.     up = 0
  7.     digit = 0
  8.     for char in pass:
  9.         if char.isupper() == 1:
  10.             up += 1
  11.         if char.isdigit() == 1:
  12.             digit += 1
  13.     if up >= 1 and digit >= 1:
  14.         print(pass)
  15.     else:
  16.         gen_pass(m)
  17.  
  18. def gen_pass(m):
  19.     alphabet = string.ascii_letters + string.digits
  20.     prohibited = ['l', 'I', '1', 'o', 'O', '0']
  21.     pass = ''
  22.     i = 0
  23.     while i < m:
  24.         char = random.choice(alphabet)
  25.         if char not in prohibited:
  26.             if char not in pass:
  27.                 pass += char
  28.                 i += 1
  29.     pass_check(pass, m)
  30.  
  31. def main(n, m):
  32.     for i in range(n):
  33.         gen_pass(m)
  34.  
  35. //Задание 25.3
  36. def precise_pi(n):
  37.     k = 0.0
  38.     for i in range(n):
  39.         x = random.random()
  40.         y = random.random()
  41.         k += (x * x + y * y < 1.0)
  42.     print(4 * k / n)
  43.  
  44. #Задание 26.1
  45. from PIL import Image, ImageDraw
  46. def gradient(color):
  47.     img = Image.new("RGB", (512, 200), (0, 0, 0))
  48.     grad = ImageDraw.Draw(img)
  49.     r = 0
  50.     g = 0
  51.     b = 0
  52.     for i in range(img.size[0]):
  53.             grad.line((i, 0, i, 512), fill=(r, g, b), width=2)
  54.             if i % 4 == 0:
  55.                 if color == "R":
  56.                     r += 2
  57.                 elif color == "G":
  58.                     g += 2
  59.                 elif color == "B":
  60.                     b += 2
  61.                 elif color == "V":
  62.                     r += 2
  63.                     b += 2
  64.                 elif color == "C":
  65.                     g += 2
  66.                     b += 2
  67.                 elif color == "Y":
  68.                     r += 2
  69.                     g += 2
  70.                 else:
  71.                     r += 2
  72.                     g += 2
  73.                     b += 2
  74.     img.save("Gradient.png", "PNG")
  75.  
  76. //Задание 26.2
  77. from PIL import Image
  78. from PIL import ImageDraw
  79. def board(num, size):
  80.     new_color = (255, 255, 255)
  81.     new_image = Image.new("RGB", (num * size, num * size), new_color)
  82.     x = size * num
  83.     y = x
  84.     draw = ImageDraw.Draw(new_image)
  85.     for i in range(0, x, size):
  86.         if i % (size * 2) == 0:
  87.             for j in range(0, y, size):
  88.                 if j % (size * 2) == 0:
  89.                     draw.rectangle(
  90.                         [i, j, i + size - 1, j + size - 1], fill='black')
  91.         else:
  92.             for j in range(size, y, size):
  93.                 if j % (size * 2) != 0:
  94.                     draw.rectangle(
  95.                         [i, j, i + size - 1, j + size - 1], fill='black')
  96.     new_image.save('result.png', "PNG")
  97.  
  98.  
  99. //Задание 26.3
  100. def makeanaglyph(filename, delta):
  101.     img = Image.open(filename)
  102.     x, y = img.size
  103.     res = Image.new('RGB', (x, y), (0, 0, 0))
  104.     pixels2 = res.load()
  105.     pixels = img.load()
  106.     for i in range(x):
  107.         for j in range(y):
  108.             if i < delta:
  109.                 r, g, b = pixels[i, j]
  110.                 pixels2[i, j] = 0, g, b
  111.             else:
  112.                 pixels2[i, j] = r, g, b
  113.                 g, b = pixels[i, j][1:]
  114.                 r = pixels[i - delta, j][0]
  115.         res.save("anaglyph.jpg")
  116.  
  117. //Задание 26.4
  118. from PIL import Image, ImageDraw
  119. im = Image.open("lena.pgm")
  120. draw = ImageDraw.Draw(im)
  121. draw.line((0, 0) + im.size, fill=128)
  122. draw.line((0, im.size[1], im.size[0], 0), fill=128)
  123. del draw
  124. # write to stdout
  125. im.save(sys.stdout, "PNG")
  126.  
  127. //Задание 27.1
  128. def make_preview(size, n_colors):
  129.     img = Image.open("kek.jpg")
  130.     x, y = img.size
  131.     res = Image.new('RGB', (size), (0, 0, 0))
  132.     res = img.thumbnail(size)
  133.     res = img.quantize(n_colors)
  134.     res.save("res.bmp", "BMP")
  135.  
  136. //Задание 27.2
  137. def image_filter():
  138.     img = Image.open("kek.jpg")
  139.     red, green, blue = img.split()
  140.     new_img = Image.merge("RGB", (blue, green, red))
  141.     new_img.save("filter.jpg", "JPEG")
  142.  
  143. while 1:
  144.     exec(input())
RAW Paste Data