import json
class User:
def __init__(self, f_name: str) -> None:
self.f_name = f_name
with open(self.f_name) as f:
self.user_list = json.load(f)
self.users = [i['name'] for i in self.user_list.values()]
self.last_id = int(list(self.user_list.keys())[-1])
def add_users(self, name: str, lakes: int) -> None:
if name not in self.users:
self.users.append(name)
self.last_id += 1
self.user_list[str(self.last_id)] = {'name': name, 'lakes': lakes}
with open(self.f_name, 'w') as f:
json.dump(self.user_list, f)
else:
print(f'Пользователь с именем {name} уже существует')
users = User('users.json')
users.add_users('Derill', 23)
users.add_users('David', 21)
import json
answer = {
"id": "12",
"status": "Готов",
"url": "vk.com"
}
answer = json.dumps(answer, ensure_ascii=False).encode('utf-8') #здесь ты переобразуешь str на bytes
answer = str(answer.decode('utf-8')) #здесь обратно в str
print(type(answer)) #вот тип который ты хочешь получить доступ по ключи
import json
answer = {
"id": "12",
"status": "Готов",
"url": "vk.com"
}
answer = json.dumps(answer, ensure_ascii=False)
answer = json.loads(answer) #здесь ты переобразуешь json на данный
print(answer['id']) #получаем данные по ключи
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
return sorted(set(nums), key=nums.count, reverse=True)[:k]
a = [('Илья',), ('Машка',)]
b = "Машка"
for i in a:
if b in a:
print(True)
break
from functools import reduce
def check(txt, tup):
types = [list, set, tuple]
while tup:
if txt in tup:
return True
tup = [i for i in tup if type(i) in types]
tup = reduce(lambda x,y: list(x) + list(y), tup)
return False
a = ((1),(2, ('asd', ('qwer', 1, "Машка"))))
b = "Машка"
print(check(b, a))
import win32api
import time
while True:
if win32api.GetAsyncKeyState(ord('A')):
print('Нажато A')
time.sleep(0.5)
import re
txt = '[Win32Window(hWnd=123456)]'
r = re.compile(r'\[Win32Window\(hWnd=(\d+)\)]')
result = r.match(txt)[1]
print(result)
import re
txt = '[Win32Window(hWnd=123456)]ahjkffkfk[Win32Window(hWnd=12)]asdfg[Win32Window(hWnd=)]'
r = re.compile(r'\[Win32Window\(hWnd=(\d+)\)]')
result = r.findall(txt)
for i in result:
print(i)
import pygame
from random import randrange
import keyboard
class Control:
def __init__(self, dirs: dict, x_y: list, key: str) -> None:
self.dirs = dirs
self.x_y = x_y
self.key = key
def __call__(self, _):
if self.key == 'W' and self.dirs['W']:
self.x_y[:] = [0, -1]
self.dirs.update({'W': True, 'S': False, 'A': True, 'D': True, })
if self.key == 'S' and self.dirs['S']:
self.x_y[:] = [0, 1]
self.dirs.update({'W': False, 'S': True, 'A': True, 'D': True, })
if self.key == 'A' and self.dirs['A']:
self.x_y[:] = [-1, 0]
self.dirs.update({'W': True, 'S': True, 'A': True, 'D': False, })
if self.key == 'D' and self.dirs['D']:
self.x_y[:] = [1, 0]
self.dirs.update({'W': True, 'S': True, 'A': False, 'D': True, })
print(self.dirs)
def run_ctrl():
up = Control(dirs, x_y, 'W')
down = Control(dirs, x_y, 'S')
left = Control(dirs, x_y, 'A')
right = Control(dirs, x_y, 'D')
keyboard.on_press_key('W', up)
keyboard.on_press_key('S', down)
keyboard.on_press_key('A', left)
keyboard.on_press_key('D', right)
RES = 800
SIZE = 80
x, y = randrange(0, RES, SIZE), randrange(0, RES, SIZE)
apple = randrange(0, RES, SIZE), randrange(0, RES, SIZE)
dirs = {'W': True, 'S': True, 'A': True, 'D': True, }
length = 1
snake = [(x, y)]
x_y = [0, 0]
dx, dy = 0, 0
score = 0
fps = 1
pygame.init()
sc = pygame.display.set_mode([RES, RES])
clock = pygame.time.Clock()
font_score = pygame.font.SysFont('Arial', 26, bold=True)
font_end = pygame.font.SysFont('Arial', 66, bold=True)
run_ctrl() #управление
while True:
dx, dy = x_y #передача значение управление
sc.fill(pygame.Color('black'))
# Счёт
render_score = font_score.render(f'SCORE: {score}', 1, pygame.Color('orange'))
sc.blit(render_score, (5, 5))
# Движение змейки
x += dx * SIZE
y += dy * SIZE
snake.append((x, y))
snake = snake[-length:]
# отрисовка
[(pygame.draw.rect(sc, pygame.Color('green'), (i, j, SIZE - 2, SIZE - 2))) for i, j in snake]
pygame.draw.rect(sc, pygame.Color('red'), (*apple, SIZE, SIZE))
# Скушать яблочко
if snake[-1] == apple:
apple = randrange(0, RES, SIZE), randrange(0, RES, SIZE)
length += 1
fps += 0.1
score += 1
# game over
if x < 0 or x > RES - SIZE or y < 0 or y > RES - SIZE or len(snake) != len(set(snake)):
while True:
render_end = font_end.render('GAME OVER', 1, pygame.Color('orange'))
sc.blit(render_end, (RES // 2 - 180, RES // 2.5))
pygame.display.flip()
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
pygame.display.flip()
clock.tick(fps)
# закрытие приложения
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
class Pers:
def __init__(self, Name: str, HP: int, Rang: str) -> None:
self.Name = Name
self.HP = HP
self.Rang = Rang
def print_stat(self):
print(self.__dict__)
аvailable_locations = ["Chaes", "Kordon"] #Доступные локации
print(f"Welcome to колхозный S.T.A.L.K.E.R ёпт\nДоступные локации:{аvailable_locations}\n") #Выводит список доступных локаций
a = input("Введите локацию: Пример(Kordon)\n>")
territory = {a: "Территория обитания меченого"} #Словарь в котором записана локация она понадобится для улсовных операторов
print("==============================================================")
if "Chaes" in territory:
monolit = [Pers("Monolit", 120, "Master") for i in range(20)]
[i.print_stat() for i in monolit]
print("Уууууу ты нарвался на монолитов")
elif "Kordon" in territory:
odinochki = [Pers("Stalker", 100, "Noob") for i in range(10)]
[i.print_stat() for i in odinochki]
print("\n")
mut = [Pers("Psevdosobaki", 90, "None") for i in range(5)]
[i.print_stat() for i in mut]
print()
print("Не мельтеши особо и трогать тебя не будут ")
print("==============================================================")
pl = input() #Это для того чтоб после завершения программы консоль сразу не выкидывала
d = {'5':["Сегодня больше отличников", 0],
'4': ["Сегодня больше хорошистов", 0],
'3': ["Сегодня больше троечников", 0]} #ученики с оценкой 3, 4, 5
students = int(input("Введите количество учеников:"))
print()
for grade in range(1, students+1):
print(f'{grade}-й из {students} учеников')
students_grade = input("Какую оценку ученик получил?:")
d[students_grade][1] += 1
print()
print(max(d.items(), key=lambda x: x[1][1])[1][0])
print("\nКоличество учеников,получивших 5:", d['5'][1], ";", "Количество учеников,получивших 4:", d['4'][1], ";", "Количество учеников,получивших 3:", ";", d['3'][1])
cnt = 0
for n in range(1, 1000):
n = n << 1 ^ (n.bit_count() > n.bit_length() - n.bit_count()) #добавляем в конец 1 или 0
bit_l = n.bit_length() #длина битов
del_bit_l = 2 + bit_l%2 #длина удаляемого бита
l_r = int((bit_l - del_bit_l)/2) #длина левого и правого бита
l_bit = n >> bit_l - l_r << l_r #левый бит
r_bit = n&2**l_r - 1 #правый бит
r = l_bit|r_bit
if 50 <= r <= 100:
cnt += 1
print(cnt)
string = 'город-статистика 1'
l = string.replace('-', ' ').split()
print(l)
with open("index.html", encoding="UTF-8") as file:
template = file.read()
sp = len(string)//3
p1 = string[:sp]
p2 = string[sp:2*sp]
p3 = string[2*sp:]
string = "Янкав, Сер, Заводск"
a = string.split(', ')
print("Это через цикл:")
for i in a:
print(i)
print('\nЭто в ручную:')
print(a[0])
print(a[1])
print(a[2])