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

Насколько длинным может быть список?

04.02.2017, 18:27. Показов 1094. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, будет тормозить программа если список будет состоять из 100 кортежей, в каждом из которых по 4 слова?

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
110
111
112
113
114
115
116
117
118
119
120
121
 #  Создание программы для изучения английских непр. глаголов
from tkinter import *
import random
 
 
class Application(Frame):
    spis = [("воровать", "steal", "stole", "stolen"),
            ("кусать", "bite", "bit", "bitten"),
            ("делать", "do", "did", "done"),
            ("становиться", "begin", "began", "begun"),
            ("сгибать", "bend", "bent", "bent"),
            ("ломать", "break", "broke", "broken")]
    total = len(spis)
    i = 0
    x = 0
    j = random.randint(0, total-1)
 
    def __init__(self, master):
        super(Application, self).__init__(master)
        self.grid()
        self.create_w()
 
    def create_w(self):
        cort = self.spis[self.j]
        ruslbl = Label(self, text=cort[0], fg="green", font='arial 14')  # Russian word
        self.ruslbl = ruslbl
        ruslbl.grid(row=1, column=2)
        Label(self, text="Infinitive", fg="grey").grid(row=2, column=1)
        Label(self, text="Past Indefinite", fg="grey").grid(row=3, column=1)
        Label(self, text="Participle II", fg="grey").grid(row=4, column=1)
        self.favorite = IntVar()
        self.favorite.set(None)
        Radiobutton(self,
                    text="Этап 1",
                    variable=self.favorite,
                    value=1,  # Доступ к "value" происходит через "self.favorite.get"
                    command=self.program1
                    ).grid(row=0, column=0, sticky=W)
        Radiobutton(self,
                    text="Этап 2",
                    variable=self.favorite,
                    value=2,
                    command=self.program2
                    ).grid(row=0, column=1, sticky=W)
        eng1 = Entry(self, font='arial 15')  # English word 1
        self.eng1 = eng1
        self.eng1.grid(row=2, column=2, sticky=E)
        eng2 = Entry(self, font='arial 15')  # English word 2
        self.eng2 = eng2
        self.eng2.grid(row=3, column=2)
        eng3 = Entry(self, font='arial 15')  # English word 3
        self.eng3 = eng3
        self.eng3.grid(row=4, column=2)
        val = self.favorite
        print(val)
 
    def program1(self):
        btn_transl = Button(self, text="Показать перевод", width=25, height=2, command=self.program1_transl)
        self.btn_transl = btn_transl
        btn_transl.grid(row=7, column=2)
 
    def program2(self):
        cort = self.spis[self.j]
        self.ruslbl["text"] = cort[0]
        self.eng1.delete(0, END)
        self.eng2.delete(0, END)
        self.eng3.delete(0, END)
        btn_verif = Button(self, text=" Проверить ", width=25, height=2, fg='blue', command=self.program2_ver)
        self.btn_verif = btn_verif
        btn_verif.grid(row=7, column=2)
 
    def program2_ver(self):
        cort = self.spis[self.j]
        del self.spis[self.j]
        self.total = len(self.spis)
        if self.total == 0:
            self.ruslbl["text"] = "Закончились слова."
        self.j = random.randint(0, self.total - 1)
        print(self.total)
        if self.eng1.get() == cort[1] and self.eng2.get() == cort[2] and self.eng3.get() == cort[3]:
            txt = " OK "
            self.x += 1
            Button(self, width=25, height=2, text="Дальше", command=self.program2).grid(row=7, column=2)
        else:
            txt = "Неправильно"
            Button(self, width=18, text="Показать ответ", command=self.program2_ans).grid(row=10, column=2)
        self.verify = Label(self, width=25, fg="green", text=txt)
        self.verify.grid(row=8, column=2)
 
    def program2_ans(self):
        self.verify["text"] = self.spis[self.j]
 
    def program1_transl(self):
        self.i += 1
        cort = self.spis[self.j]
 
        self.ruslbl["text"] = cort[0]
        if self.i == 1:
            self.eng1.delete(0, END)
            self.eng2.delete(0, END)
            self.eng3.delete(0, END)
            self.eng1.insert(0, cort[self.i])
        if self.i == 2:
            self.eng2.insert(0, cort[self.i])
        if self.i == 3:
            self.eng3.insert(0, cort[self.i])
            print("j = ", self.j)
            self.i = 0
            del self.spis[self.j]
            print(self.total)
            self.total = len(self.spis)
            if self.total == 0:
                self.ruslbl["text"] = "Закончились слова."
            self.j = random.randint(0, self.total - 1)
 
 
root = Tk()
root.title("Программа изучения английских слов")
root.geometry("400x250")
app = Application(root)
root.mainloop()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2017, 18:27
Ответы с готовыми решениями:

Насколько может быть полезна точка восстановления?
Интерес у меня больше спортивный, нежели повседневный. Хотя иногда мне несут ноуты с просьбой переустановить винду. Вот вопрос, а надо ли...

Насколько стабильным может быть WCF через NetTcpBinding?
Предисловие. Ищу способ создать стабильное соединение между сервером и несколькими клиентами по TCP/IP. Язык программирования не...

Необходимо создать список, элемент которого может быть список
Всем доброго времени суток! Стоит следующая задача: необходимо создать список, элемент которого может быть список (да да, звучит...

3
12 / 12 / 10
Регистрация: 17.06.2016
Сообщений: 70
04.02.2017, 18:35
программа вилетает по индексу листа часто, а по времени-не тормозит.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.02.2017, 18:48
Цитата Сообщение от Franek Посмотреть сообщение
будет тормозить программа если список будет состоять из 100 кортежей, в каждом из которых по 4 слова?
Список из 100 миллионов кортежей занял примерно 400 Mb ОЗУ. Нельзя сказать, что для современных компьютеров это критично.
Python
1
l=[("воровать", "steal", "stole", "stolen") for _ in range(100000000)]
Но, правда, поиск (а не обращение по индексу) значения по списку такой длины будет весьма долгим.
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
06.02.2017, 10:11
Цитата Сообщение от Franek Посмотреть сообщение
состоять из 100 кортежей, в каждом из которых по 4 слова?
Это копейки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2017, 10:11
Помогаю со студенческими работами здесь

насколько можно сжать пару слоганов таким образом. Порядок следования слоганов в паре может быть любой.
Кто-нибудь помогите решить: Некоторая фирма решила использовать в своей рекламной кампании два слогана. Каждый слоган представляет из...

Параметризованный список что это может быть такое
Есть задание: Создать класс Студент. Студенты должны заноситься в параметризованный список. У студента должны присутствовать поля: ФИО,...

Не выводиться содержимое файла в список .В чем может быть проблема ?
Задание заключается в том что есть 2 файла и они должны вывестись в список один в одну строку , а 2 в след.. Но вот я начала пробовать...

"В поле может быть введено только одно слово, пробелы могут быть или не быть с начала слова и в конце"
Добрый вечер уважаемые форумчане. Подскажите как написать выражение со след условием: -в поле может быть введено только одно слово,...

Написать программу. Может ли быть вводимое число быть восьмеричным.
Собственно, использовать можно , лишь, цикл while. Массивы и функции преобразования строки нельзя. помогите найти ошибку #include...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru