Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Заблокирован

Игра Алфавит

13.04.2020, 10:29. Показов 1128. Ответов 9

Студворк — интернет-сервис помощи студентам
Создать приложение “Алфавит»
Помогите кто знает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2020, 10:29
Ответы с готовыми решениями:

Игра Алфавит
import tkinter as tk from tkinter import ttk class AlphabetSettings(): def __init__(self, parent): # заголовок...

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

Алфавит классов
Создайте класс A, в котором определены: метод приведения к строке, возвращающий 'A.__str__ method' метод hello(), выводящий на экран...

9
 Аватар для Miryz
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
13.04.2020, 10:59
Можете обозначить основной функционал программы?
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
13.04.2020, 11:27
Python
1
2
import string
print(string.ascii_uppercase)
0
Заблокирован
13.04.2020, 11:40  [ТС]
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import tkinter as tk
from tkinter import ttk
 
 
class AlphabetSettings():
 
    def __init__(self, parent):
        # заголовок окна
        self.root = parent
        self.root.title("Алфавит. Настройки")
        # главный фрейм, задаем отступы
        main_frame = tk.Frame(parent)
        main_frame.grid(padx=50, pady=10)
        # настройка языка
        lang_setting_frame = tk.Frame(main_frame)
        lang_setting_frame.grid(pady=1)
        # тест настройки языка
        label = tk.Label(lang_setting_frame, text='Язык алфавита')
        label.grid(column=0, row=0, sticky=tk.E)
        # стринговая переменная язык
        language = tk.StringVar()
        # select - элемент для выбора языка
        language_box = ttk.Combobox(
            lang_setting_frame, textvariable=language)
        language_box['values'] = ('русский', 'английский')
        language_box.current(0)
        language_box.grid(column=1, row=0)
 
        settings_frame = tk.Frame(main_frame)
        settings_frame.grid(padx=50)
        # int переменная для настройки отображения
        # букв в случайном порядке
        random_order = tk.IntVar()
        random_order_btn = tk.Checkbutton(
            settings_frame,
            text='Отображать буквы в случайном порядке',
            variable=random_order,
            onvalue=1,
            offvalue=0)
        random_order_btn.grid(column=0, row=1, sticky=tk.W)
        # int переменная для настройки
        # менять ли расположение на экране
        change_pos = tk.IntVar()
        change_pos_btn = tk.Checkbutton(
            settings_frame,
            text='Менять расположение на экране',
            variable=change_pos,
            onvalue=1, offvalue=0)
        change_pos_btn.grid(column=0, row=2, sticky=tk.W)
        # int переменная для настройки
        # менять ли размер шрифта
        change_font_size = tk.IntVar()
        change_font_size_btn = tk.Checkbutton(
            settings_frame, text='Менять размер шрифта',
            variable=change_font_size,
            onvalue=1, offvalue=0)
        change_font_size_btn.grid(column=0, row=3, sticky=tk.W)
        # int переменная для настройки
        # менять ли цвет
        change_color = tk.IntVar()
        change_color_btn = tk.Checkbutton(
            settings_frame, text='Менять цвет',
            variable=change_color,
            onvalue=1, offvalue=0)
        change_color_btn.grid(column=0, row=4, sticky=tk.W)
        # фрейм для паузы
        pause_frame = tk.Frame(main_frame)
        pause_frame.grid(pady=10)
 
        label = ttk.Label(pause_frame, text='Пауза между показами')
        label.grid(column=0, row=5, sticky=tk.E)
 
        pause = tk.StringVar()
        pause_box = ttk.Combobox(pause_frame, textvariable=pause)
        pause_box['values'] = (0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.3,
                               1.5, 1.7, 2, 3, 4,
                               5, 7, 10)
        pause_box.current(0)
        pause_box.grid(column=1, row=5)
 
        game_btn_frame = tk.Frame(main_frame)
        game_btn_frame.grid(pady=10)
        # Создаем кнопку "Играть", переменную pause
        # переводим в миллисекунды
        btn = ttk.Button(
            game_btn_frame,
            text="Играть",
            command=lambda: self.open_frame(
                language.get(),
                random_order.get(),
                change_pos.get(),
                change_font_size.get(),
                change_color.get(),
                int(float(pause.get()) * 1000))
            )
        btn.grid()
 
    def open_frame(self, lang, random_order,
                   change_pos, change_font_size,
                   change_color, pause):
        print(lang, random_order, change_pos,
              change_font_size, change_color, pause)
 
 
if __name__ == "__main__":
    root = tk.Tk()
    root.geometry("500x250")
    app = AlphabetSettings(root)
    root.mainloop()
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import tkinter as tk
from tkinter import ttk
import sys
...
    # внутри класса AlphabetSettings:
    def open_frame(self, lang, random_order,
                   change_pos, change_font_size,
                   change_color, pause):
        self.hide()
        AlphabetGame(self, lang, random_order, change_pos,
                     change_font_size, change_color, pause)
 
    # добавляем в конец класса две новые функции:
    def hide(self):
        self.root.withdraw()
 
    def show(self):
        self.root.update()
        self.root.deiconify()
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
class AlphabetGame(tk.Toplevel):
 
    def __init__(self, original_frame, lang, random_order, change_pos,
                 change_font_size, change_color, pause):
        tk.Toplevel.__init__(self)
        self.original_frame = original_frame
        self.lang = lang
        self.pause = pause
        self.protocol("WM_DELETE_WINDOW", sys.exit)
        # задаем размеры окна игры
        w = 800
        h = 650
 
        # получаем размеры экрана
        ws = root.winfo_screenwidth()
        hs = root.winfo_screenheight()
 
        # вычисляем координаты расположения окна
        x = (ws / 2) - (w / 2)
        y = (hs / 2) - (h / 2)
 
        # задаем расположение, навзание, цвет
        self.geometry('%dx%d+%d+%d' % (w, h, x, y))
        self.title("Алфавит")
        self.configure(background='white')
 
        self.canvas = tk.Canvas(self)
        self.canvas.grid()
        self.canvas.configure(background='white', width=800, height=600)
 
        btn = ttk.Button(
            self, text="Назад", command=self.close_and_back_to_settings)
        btn.grid()
 
    def close_and_back_to_settings(self):
        """Функция для закрытия окна игры и возврата к настройкам"""
        self.destroy()
        self.original_frame.show()
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import tkinter as tk
from tkinter import ttk
import sys
from random import randrange
 
FONT_SIZE = (24, 26, 28, 30, 32, 36, 40, 42, 44, 50, 56, 65, 72, 76, 78)
DEFAULT_SIZE = 46
NUMBER_OF_FONTS = len(FONT_SIZE)
FONT = ("Verdana", DEFAULT_SIZE)
LETTERS_BOTTOM_RUS = ('О', 'Л', 'П')
LETTERS_BOTTOM_ENG = ('R', 'L', 'B')
COLORS = ("#563093", "#911414", "#cec379", "#B76EFF", "#FF90FF",
          "#9CFF9C", "#FFB76E", "#A3A375", "#9F9FFF", "#FF66CC")
NUMBER_OF_COLORS = len(COLORS)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
class AlphabetGame(tk.Toplevel):
 
    def __init__(self, original_frame, lang, random_order, change_pos,
                 change_font_size, change_color, pause):
        tk.Toplevel.__init__(self)
        self.original_frame = original_frame
        self.lang = lang
        self.pause = pause
        self.protocol("WM_DELETE_WINDOW", sys.exit)
        # задаем размеры окна игры
        w = 800
        h = 650
 
        # получаем размеры экрана
        ws = root.winfo_screenwidth()
        hs = root.winfo_screenheight()
 
        # вычисляем координаты расположения окна
        x = (ws / 2) - (w / 2)
        y = (hs / 2) - (h / 2)
 
        # задаем расположение, навзание, цвет
        self.geometry('%dx%d+%d+%d' % (w, h, x, y))
        self.title("Алфавит")
        self.configure(background='white')
 
        self.canvas = tk.Canvas(self)
        self.canvas.grid()
        self.canvas.configure(background='white', width=800, height=600)
 
        btn = ttk.Button(
            self, text="Назад", command=self.close_and_back_to_settings)
        btn.grid()
 
        # случайный инт от 0 до 2 для выбора нижней буквы
        random_int = randrange(3)
        # задаем начальные буквы (верхнюю и нижнюю)
        if lang == 'русский':
            initial_letter_top = chr(randrange(1040, 1072))
            initial_letter_bottom = LETTERS_BOTTOM_RUS[random_int]
        else:
            initial_letter_top = chr(randrange(65, 91))
            initial_letter_bottom = LETTERS_BOTTOM_ENG[random_int]
 
        if all((change_font_size == 0,
                random_order == 0,
                change_color == 0,
                change_pos == 0)):
            # id верхней буквы
            self.top_letter_id = self.canvas.create_text(
                400, 200, anchor=tk.W, font=(
                    FONT[0], DEFAULT_SIZE), text=initial_letter_top)
            # id нижней буквы
            self.bottom_letter_id = self.canvas.create_text(
                400, 260, anchor=tk.W, font=(
                    FONT[0], DEFAULT_SIZE), text=initial_letter_bottom)
            # выполняется после оторбажения двух букв:
            self.canvas.after(
                self.pause, lambda: self.change_letters())
 
    def change_ord(self, cur_ord=None):
        if not cur_ord:
            cur_letter_ord = ord(
                self.canvas.itemcget(self.top_letter_id, "text"))
        else:
            cur_letter_ord = cur_ord
        if self.lang == "русский":
            # буква Я, начинаем сначала
            if cur_letter_ord == 1071:
                cur_letter_ord = 1039
            # буква Е, выбираем Ё
            elif cur_letter_ord == 1045:
                cur_letter_ord = 1024
            # после Ё возврат к Ж
            elif cur_letter_ord == 1025:
                cur_letter_ord = 1045
            next_ord = cur_letter_ord + 1
        else:
            if cur_letter_ord == 90:
                cur_letter_ord = 64
        next_ord = cur_letter_ord + 1
        return next_ord
 
    def get_next_bottom_letter(self):
        random = randrange(3)
        if self.lang == 'русский':
            next_bottom_letter = LETTERS_BOTTOM_RUS[random]
        else:
            next_bottom_letter = LETTERS_BOTTOM_ENG[random]
        return next_bottom_letter
 
    def change_letters(self):
        next_ord = self.change_ord()
        self.canvas.itemconfigure(self.top_letter_id, text=chr(next_ord))
 
        self.canvas.itemconfigure(
            self.bottom_letter_id, text=self.get_next_bottom_letter())
 
        self.after(self.pause, lambda: self.change_letters())
Можете убрать здесь 'Отображать буквы в случайном порядке' и соединить все коды пожалуйста

Добавлено через 2 минуты
и еще 'Менять размер шрифта' тоже надо убрать
0
Заблокирован
13.04.2020, 11:55  [ТС]
игру 'Алфавит' надо
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
13.04.2020, 12:02
Olzhas, полное задание озвучьте. Я такой не знаю
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
13.04.2020, 12:18
Olzhas, а в чем проблема то?

Добавлено через 49 секунд

Не по теме:

DobroAlex, серьезно, ты будешь это делать за него?

0
Заблокирован
13.04.2020, 12:43  [ТС]
Можете убрать который я выложил код в нем 'Отображать буквы в случайном порядке' и
и еще 'Менять размер шрифта' надо убрать и соединить коды
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
13.04.2020, 18:01
DmFat,
Кликните здесь для просмотра всего текста
щас, только штаны подтяну
0
Заблокирован
13.04.2020, 18:14  [ТС]
Спасибо ты помог
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2020, 18:14
Помогаю со студенческими работами здесь

Перебрать алфавит
Как можно перебрать все буквы в английском алфавите? К примеру mysite.com/a mysite.com/b ... mysite.com/z mysite.com/aa ...

Английский алфавит
Ограничение по времени: 0.2 секунды Ограничение по памяти: 64 мегабайта Заданы два символа- английские буквы в нижнем регистре....

Перебор пароля (алфавит)
Помогите,пожалуйста,реализовать,моих якобы знаний хватило только устроить банальный перебор и проверку по одному знаку :( -Пароль...

Двумерный список/алфавит
написать функцию char_czest(), которая принимает string в качестве аргумента, и строит список из символов в слове. На выходе функции вернет...

Алфавит в обратном порядке
помогите исправить... alphabet = "'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru