Ну смотри... Для начала переведем из двоичного твое число в десятичное.
Смотрим с конца:
1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3 + 0 * 2^4 + 1 * 2^5 = 1 + 2 + 8 + 32 = 43
Ну на самом деле я ответ и до этого знал, на питоне можно написать в интерпретаторе 0b101011 и он выдаст ответ. Расписал чтоб хоть понятна была логика. Мы идем от самого конца и каждое число двигаясь к началу мы умножаем на 2 в степени n + 1 скажем так. Ну это грубо говоря :)
43 + 38 = 81, тут все понятно...
И переводим теперь 81 в двоичную. На питоне это bin(81) = 1010001
А теперь показываю как своими ручками посчитать)
*приложил скриншот" у нас получилось 1010001 - питон не врет :)
Необходимо просто последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. И самое главное - что число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Тебе нужно добавить переменную color и проверять нажатие кнопки мыши, когда нажмут кнопку меняешь color
Объяснение:
import pygame
WIDTH = 300
HEIGHT = 250
FPS = 30
BLUE = (0,0,255)
WHITE = (255,255,255)
pygame.init()
x = WIDTH / 2
y = HEIGHT / 2
r = 10
color = "BLUE"
motion = ''
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.draw.circle(screen, color, (x, y), r)
pygame.display.update()
clock = pygame.time.Clock()
motion = 'stop'
running = True
while running:
events = pygame.event.get()
for i in events:
if i.type == pygame.QUIT:
running = False
if i.type == pygame.KEYDOWN:
if i.key == pygame.K_LEFT:
motion = "LEFT"
if i.key == pygame.K_RIGHT:
motion = "RIGHT"
if i.key == pygame.K_DOWN:
motion = "DOWN"
if i.type == pygame.KEYUP:
print("Up")
if i.key == pygame.K_LEFT or i.key == pygame.K_RIGHT or i.key == pygame.K_UP or i.key == pygame.K_DOWN:
motion = "stop"
if motion == "LEFT":
x -= 1
if motion == "RIGHT":
x += 1
if motion == "UP":
y -= 1
if motion == "DOWN":
y += 1
if i.type == pygame.MOUSEBUTTONDOWN:
if i.button == 1:
if color == "BLUE":
color = "RED"
else:
color = "BLUE"
screen.fill(WHITE)
pygame.draw.circle(screen, color, (x, y), r)
pygame.display.update()
clock.tick(FPS)