Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/65: Рейтинг темы: голосов - 65, средняя оценка - 4.62
-23 / 3 / 0
Регистрация: 08.04.2020
Сообщений: 94

Нарисовать оранжевые ромбики на желтом фоне

27.11.2020, 16:39. Показов 12890. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите программу, которая считывает через стандартный поток ввода целое число n и рисует средствами библиотеки Pygame оранжевые ромбики на желтом фоне (’orange’, ’yellow’), размером n по обеим диагоналям.

В случае, если пользователь ввел неверное значение (не целое число), программа должна печатать в командную строку сообщение «Неправильный формат ввода» и завершать работу.

Обратите внимание: должно быть «покрашено» всё окно, независимо от размера. Неполные ромбики рисоваться не должны.

Например, при вводе 35 на окне 300×300 пикселей должно появиться такое изображение:
Размер окна задаётся в коде программы и будет меняться преподавателем при проверке. Окно не обязательно будет квадратным.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2020, 16:39
Ответы с готовыми решениями:

При открытии страницы в Opera надписи на желтом фоне по англ.
привет! подскажите че за хрень такая. при открытии страницы в опере не возможно посмотреть или прочитать повсюду надписи на желтом фоне по...

Вывод слова "Star" в графическом режиме голубым цветом на жёлтом фоне
Составить программу вывода слова "Star" в графическом режиме голубым цветом на жёлтом фоне и расположенного вертикально. Заранее...

Нарисовать на жёлтом экране красную линию, зелёный треугольник, синий прямоугольник и коричневый круг
Нужно нарисовать на жёлтом экране красную линию, зелёный треугольник, синий прямоугольник и коричневый круг. Смог нарисовать фигуры,но...

5
29 / 29 / 0
Регистрация: 31.01.2020
Сообщений: 181
26.02.2021, 17:58
помогите
0
4 / 2 / 3
Регистрация: 13.11.2020
Сообщений: 21
27.02.2021, 01:55
Где твой код?
0
0 / 0 / 0
Регистрация: 17.12.2022
Сообщений: 6
22.01.2023, 08:36
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import pygame
 
n = int(input())
# n = 50
start_points = [(n * 1, n * 0), (n * 2, n * 1), (n * 1, n * 2), (n * 0, n * 1)]
list_points = []
 
pygame.init()
w = 300
h = 300
a = h // (n * 2)
screen = pygame.display.set_mode((300, 300))
clock = pygame.time.Clock()
yellow = pygame.Color('yellow')
orange = pygame.Color('orange')
count_y = 0
flag_y = True
 
while flag_y:
    a -= 1
    flag_x = True
    count_x = -2
    while flag_x:
        count_x += 2
        if n * (2 + count_x) <= w:
            point = [(n * (1 + count_x), n * (0 + count_y)), (n * (2 + count_x), n * (1 + count_y)),
                     (n * (1 + count_x), n * (2 + count_y)), (n * (0 + count_x), n * (1 + count_y))]
            list_points.append(point)
        else:
            flag_x = False
    if a > 0:
        count_y += 2
    else:
        flag_y = False
 
 
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
 
    screen.fill(yellow)
    for i in range(len(list_points)):
        pygame.draw.polygon(screen, orange, list_points[i])
    pygame.display.flip()
    clock.tick(60)
0
 Аватар для OlegChe
73 / 55 / 25
Регистрация: 12.07.2014
Сообщений: 216
03.02.2023, 17:01
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pygame
 
def draw_diamond(surface, color, x, y, size):
    pygame.draw.polygon(surface, color, [[x + size / 2, y], [x + size, y + size / 2], [x + size / 2, y + size], [x, y + size / 2]])
 
try:
    n = int(input("Enter size: "))
except ValueError:
    print("Invalid input format")
    quit()
 
size = (300, 300)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Orange Diamonds")
 
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
 
    screen.fill(pygame.Color("yellow"))
    draw_diamond(screen, pygame.Color("orange"), size[0] // 2 - n // 2, size[1] // 2 - n // 2, n)
    draw_diamond(screen, pygame.Color("orange"), size[0] // 2 + n // 2, size[1] // 2 - n // 2, n)
    draw_diamond(screen, pygame.Color("orange"), size[0] // 2 - n // 2, size[1] // 2 + n // 2, n)
    draw_diamond(screen, pygame.Color("orange"), size[0] // 2 + n // 2, size[1] // 2 + n // 2, n)
    
    pygame.display.update()
 
pygame.quit()
0
8 / 8 / 0
Регистрация: 06.12.2022
Сообщений: 44
25.08.2024, 10:09
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import pygame
 
 
try:
    n = input()
    if int(n) != float(n):
        raise ValueError
 
    n = int(n)
    pygame.init()
    size = width, height = 300, 300
    screen = pygame.display.set_mode((width, height))
    screen.fill("yellow")
    s = n // 2
    color = pygame.Color("orange")
    for i in range(0, 300, s * 2):
        for j in range(0, 300, s * 2):
            if i + s * 2 > width or j + s * 2 > height:
                continue
 
            points = [(i, j + s), (i + s, j), (i + s * 2, j + s), (i + s, j + s * 2)]
            pygame.draw.polygon(screen, color, points)
 
    pygame.display.flip()
    while pygame.event.wait().type != pygame.QUIT:
        pass
 
    pygame.quit()
except ValueError:
    print("Неправильный формат ввода")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.08.2024, 10:09
Помогаю со студенческими работами здесь

Нарисовать уголок на черном фоне
помогите нарисовать пожалуйста!

Нарисовать машину на готовом фоне
Я делаю работу: нужно нарисовать Машину справа на дороге, я программы сделал) нужно их скрепить машуну вставить в 1 работу справа от...

Нарисовать снеговика на белом фоне
на с++ написать программу которая выводит в результате снеговик на белом фоне

Нарисовать цифру 7 на синем фоне
Доброго времени суток. Помогите пожалуйста решить задание. Нужно нарисовать цифру семь на цветной фоне(любом) в matlab. я смогла сделать...

Нарисовать темный круг на светлом фоне
Нарисовать темный круг на светлом фоне.Диаметр круга 100 пикселей,размер фона 200х200.Записать решение в одну строку


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru