 
  
  a = 'IMG_20220621_205706'
new_date = '0722'
f'{a[:8]}{new_date}{a[12:]}'
>>>'IMG_20220722_205706' 
  
  import os
path = r"C:\test\Изменение название фотографии\Фото"
for file_name in os.listdir(path):
    # Имя файла и его формат
    base_name, ext = os.path.splitext(file_name)
    # Нужны файлы определенного формата
    if ext.lower() not in ['.jpg', '.png']:
        continue
    # Полный путь к текущему файлу
    abs_file_name = os.path.join(path, file_name)
    # Полный путь к текущему файлу с новым названием
    j = base_name.split('_')
    k = f'{j[0]}_{j[1]}_{int(j[2])+2}'
    new_abs_file_name = os.path.join(path, str(k) + ext)
    os.rename(abs_file_name, new_abs_file_name) 
  
   
  
  result.append(temp)result.append(temp[:]) 
  
  # 1st question
items = ["lawyer", "attorney", "prosecutor"]
new_list = []
for i in items:
    i = i + " is related to legal affairs"
    new_list.append(i)
print(new_list)
#functional solution = use mapitems = ["lawyer", "attorney", "prosecutor"]
new_list = list(map(lambda x: x + " is related to legal affairs", items))
print(new_list) 
  
  def game():
  number = random.randint(0, 1000)
  tries = 1
  done = False
  while not done:
    guess = input('Введите число: ')
    if guess.isdigit():
      guess = int(guess)
      if guess == number:
        done = True
        print('Ты победил! Я загадал {guess}. Ты использовал {tries} попыток.')
      else:
        tries += 1
        if guess > number:
          print('Загаданное число меньше!')
        else:
          print('Загаданное число больше!')
    else:
      print('Это не число от 1 до 1000!')
game() 
  
   
  
  
 
  
  def func(r):
    from random import choices
    from math import log
    xs = range(1, r)
    ws = [log(x) for x in xs]
    x = choices(xs, weights=ws)
    return x
a = func(100)
b = func(50)
c = func(10)
print(a, b, c) 
  
   
  
   
  
   
       
  
  ValueError: operands could not be broadcast together with shapes (1,2) (2,3)При работе с двумя массивами NumPy сравнивает их формы по элементам. Он начинается с конечных (то есть самых правых) измерений и идет влево. Два измерения совместимы, если они равны или одно из них равно 1. Если эти условия не выполняются, возникает исключение ValueError: operands could not be broadcast together with shapes(ValueError: операнды не могут быть переданы вместе, указывая на то, что массивы имеют несовместимые формы).
 
  
  for ip in ip_adresses:
    textlookfor = r"ftp://\d+.\d+.\d+.\d+.\d.\d+"
    r = re.findall(textlookfor, ip)
    print(r)result = []
for ip in ip_adresses:
    textlookfor = r"ftp://\d+.\d+.\d+.\d+.\d.\d+"
    r = re.findall(textlookfor, ip)
    result.append(r)
print(result)def f(data):
    for ip in ip_adresses:
        textlookfor = r"ftp://\d+.\d+.\d+.\d+.\d.\d+"
        r = re.findall(textlookfor, ip)
        yield r
res = f(my_data)
print(next(res))
print(next(res)) 
  
  import unittest
from selenium import webdriver
from selenium.webdriver.common.by import By
URL = 'https://psy.edu.ru/'
class check_psyedu(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(r'C:\Users\Алексей\YandexDisk\Job\Python\Test\chromedriver\chromedriver.exe')
        self.driver.set_window_size(1920, 1080)
    def test_1(self):
        names = ("aleksei", "Алексей", " Рынденков Алексей",)
        for name in names:
            # тут name просто как название теста, чтобы когда тест не прошёл было наглядно видно где споткнулся
            with self.subTest(name):  
                self.driver.get(URL)
                self.driver.find_element(By.NAME, "name").send_keys(name)
                self.driver.find_element(By.CSS_SELECTOR, ".btn").click()
                assert self.driver.find_element(By.CSS_SELECTOR,
                                                ".still-quest_item:nth-child(1) > .err_message").text == "Напишите русскими буквами!"
                assert self.driver.find_element(By.CSS_SELECTOR, ".err_message:nth-child(3)").text == "Обязательное поле!"
                assert self.driver.find_element(By.CSS_SELECTOR, ".still-quest_item:nth-child(3)").text == "Обязательное поле!"
    def tearDown(self):
        self.driver.close()
        self.driver.quit()
if __name__ == "__main__":
    unittest.main()@parameterized([
    (2, 2, 4),
    (2, 3, 8),
    (1, 9, 1),
    (0, 9, 0),
])
def test_pow(base, exponent, expected):
   assert_equal(math.pow(base, exponent), expected)