Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8

Ошибка в Питоне

24.05.2020, 16:21. Показов 1564. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорогие друзья, добрый день! Написал программу, но выдаются ошибки. Помогите с кодом. Заранее спасибо!!!

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
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import math
import sys
 
#логика калькулятора
def calc(key):
    global memory
    if key == "=":             
root = Tk()
root.title("Calculator")
 
calc_entry = Entry(root, width = 33)
calc_entry.grid(row=0, column=0, columnspan=5)
 
#исключение написания слов
        str1 = "-+0123456789.*/)(" 
        if calc_entry.get()[0] not in str1:
            calc_entry.insert(END, "First symbol is not number!")
            messagebox.showerror("Error!", "You did not enter the number!")
#исчисления
        try:
            result = eval(calc_entry.get())
            calc_entry.insert(END, "=" + str(result))
        except:
            calc_entry.insert(END, "Error!")
            messagebox.showerror("Error!", "Check the correctness of data")
 
 
bttn_list = [
"7", "8", "9", "+", "*", 
"4", "5", "6", "-", "/",
"1", "2", "3",  "=", "xⁿ",
"0", ".", "±",  "C",
"Exit", "π", "sin", "cos",
"(", ")","n!","√2", ]
 
 
 
r = 1
c = 0
for i in bttn_list:
    rel = ""
    cmd=lambda x=i: calc(x)
    ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
    c += 1
    if c > 4:
        c = 0
        r += 1
 
#очищение поля ввода
    if key == "C":
        calc_entry.delete(0, END)
#плюс/минус
    if key == "±":
        if "=" in calc_entry.get():
            calc_entry.delete(0, END)
        try:
            if calc_entry.get()[0] == "-":
                calc_entry.delete(0)
            else:
                calc_entry.insert(0, "-")
        except IndexError:
            pass    
 
    if key == "π":
        calc_entry.insert(END, math.pi)
 
    if key == "Exit":
        root.after(1,root.destroy)
        sys.exit
 
    if key == "xⁿ":
        calc_entry.insert(END, "**")
 
    if key == "sin":
        calc_entry.insert(END, "=" + str(math.sin(int(calc_entry.get()))))
 
    if key == "cos":
        calc_entry.insert(END, "=" + str(math.cos(int(calc_entry.get()))))
    if key == "(":
 
        calc_entry.insert(END, "(")
    if key == ")":
 
        calc_entry.insert(END, ")")
    if key == "n!":
 
        calc_entry.insert(END, "=" + str(math.factorial(int(calc_entry.get()))))
    if key == "√2":
 
        calc_entry.insert(END, "=" + str(math.sqrt(int(calc_entry.get()))))
    else:
            if "=" in calc_entry.get():
                calc_entry.delete(0, END)
            calc_entry.insert(END, key)
 
root.mainloop()
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.05.2020, 16:21
Ответы с готовыми решениями:

Ошибка в питоне
Возникает вот такая вот ошибка https://prnt.sc/10nfjau При попытке запуска на сервере. Подскажите, в чем ошибка? Как запустить?

Ошибка в питоне
Здравствуйте! Возникла такая проблема: raise ControlSlycot("can't find slycot module 'sb02md' or 'sb02nt'") ...

Как открыть файл на питоне, чтобы внутри содержимый код работал при открытии на питоне?
Хочу открыть файл, чтобы внутри код работал на питоне: >>> a = open(r'F:\python\py\Madi Khasenov.txt') >>> a.read() "x...

16
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 16:31
Dimka213, исправьте код



0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 16:42  [ТС]
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
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import math
import sys
 
#логика калькулятора
def calc(key):
    global memory
    if key == "=":             
root = Tk()
root.title("Calculator")
 
calc_entry = Entry(root, width = 33)
calc_entry.grid(row=0, column=0, columnspan=5)
 
#исключение написания слов
        str1 = "-+0123456789.*/)(" 
        if calc_entry.get()[0] not in str1:
            calc_entry.insert(END, "First symbol is not number!")
            messagebox.showerror("Error!", "You did not enter the number!")
#исчисления
        try:
            result = eval(calc_entry.get())
            calc_entry.insert(END, "=" + str(result))
        except:
            calc_entry.insert(END, "Error!")
            messagebox.showerror("Error!", "Check the correctness of data")
 
 
bttn_list = [
"7", "8", "9", "+", "*", 
"4", "5", "6", "-", "/",
"1", "2", "3",  "=", "xⁿ",
"0", ".", "±",  "C",
"Exit", "π", "sin", "cos",
"(", ")","n!","√2", ]
 
 
 
r = 1
c = 0
for i in bttn_list:
    rel = ""
    cmd=lambda x=i: calc(x)
    ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
    c += 1
    if c > 4:
        c = 0
        r += 1
 
#очищение поля ввода
    if key == "C":
        calc_entry.delete(0, END)
#плюс/минус
    if key == "±":
        if "=" in calc_entry.get():
            calc_entry.delete(0, END)
        try:
            if calc_entry.get()[0] == "-":
                calc_entry.delete(0)
            else:
                calc_entry.insert(0, "-")
        except IndexError:
            pass    
 
    if key == "π":
        calc_entry.insert(END, math.pi)
 
    if key == "Exit":
        root.after(1,root.destroy)
        sys.exit
 
    if key == "xⁿ":
        calc_entry.insert(END, "**")
 
    if key == "sin":
        calc_entry.insert(END, "=" + str(math.sin(int(calc_entry.get()))))
 
    if key == "cos":
        calc_entry.insert(END, "=" + str(math.cos(int(calc_entry.get()))))
    if key == "(":
 
        calc_entry.insert(END, "(")
    if key == ")":
 
        calc_entry.insert(END, ")")
    if key == "n!":
 
        calc_entry.insert(END, "=" + str(math.factorial(int(calc_entry.get()))))
    if key == "√2":
 
        calc_entry.insert(END, "=" + str(math.sqrt(int(calc_entry.get()))))
    else:
            if "=" in calc_entry.get():
                calc_entry.delete(0, END)
            calc_entry.insert(END, key)
 
root.mainloop()
Добавлено через 5 минут
Не получается...

Добавлено через 2 минуты
Не получается. Здесь как все по-другому
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
24.05.2020, 16:45
Цитата Сообщение от Dimka213 Посмотреть сообщение
но выдаются ошибки.
какие? полный текст!

Цитата Сообщение от Dimka213 Посмотреть сообщение
Ошибка в Питоне
нет, ошибка в твоем коде
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 16:46  [ТС]
Так я и пишу, что у меня в коде ошибка
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
24.05.2020, 16:47
Цитата Сообщение от Dimka213 Посмотреть сообщение
Так я и пишу, что у меня в коде ошибка
поздравляю!
ты предлагаешь нам ее найти запустив твой код? у меня для тебя плохие новости
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 16:49
Цитата Сообщение от Dimka213 Посмотреть сообщение
но выдаются ошибки
какие? вы же их видите а мы нет. скопируйте и вставьте сюда. код нужно перед отправкой выделить выполнить то что вам указано на скриншотах. тогда тут будет код а не набор строк без отступов!
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 16:54  [ТС]
Не. Извиняюсь за тупость. Там ошибка в root = Tk() expected an indented block

Добавлено через 1 минуту
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
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import math
import sys
 
#логика калькулятора
def calc(key):
    global memory
    if key == "=":             
root = Tk()
root.title("Calculator")
 
calc_entry = Entry(root, width = 33)
calc_entry.grid(row=0, column=0, columnspan=5)
 
#исключение написания слов
        str1 = "-+0123456789.*/)(" 
        if calc_entry.get()[0] not in str1:
            calc_entry.insert(END, "First symbol is not number!")
            messagebox.showerror("Error!", "You did not enter the number!")
#исчисления
        try:
            result = eval(calc_entry.get())
            calc_entry.insert(END, "=" + str(result))
        except:
            calc_entry.insert(END, "Error!")
            messagebox.showerror("Error!", "Check the correctness of data")
 
 
bttn_list = [
"7", "8", "9", "+", "*", 
"4", "5", "6", "-", "/",
"1", "2", "3",  "=", "xⁿ",
"0", ".", "±",  "C",
"Exit", "π", "sin", "cos",
"(", ")","n!","√2", ]
 
 
 
r = 1
c = 0
for i in bttn_list:
    rel = ""
    cmd=lambda x=i: calc(x)
    ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
    c += 1
    if c > 4:
        c = 0
        r += 1
 
#очищение поля ввода
    if key == "C":
        calc_entry.delete(0, END)
#плюс/минус
    if key == "±":
        if "=" in calc_entry.get():
            calc_entry.delete(0, END)
        try:
            if calc_entry.get()[0] == "-":
                calc_entry.delete(0)
            else:
                calc_entry.insert(0, "-")
        except IndexError:
            pass    
 
    if key == "π":
        calc_entry.insert(END, math.pi)
 
    if key == "Exit":
        root.after(1,root.destroy)
        sys.exit
 
    if key == "xⁿ":
        calc_entry.insert(END, "**")
 
    if key == "sin":
        calc_entry.insert(END, "=" + str(math.sin(int(calc_entry.get()))))
 
    if key == "cos":
        calc_entry.insert(END, "=" + str(math.cos(int(calc_entry.get()))))
    if key == "(":
 
        calc_entry.insert(END, "(")
    if key == ")":
 
        calc_entry.insert(END, ")")
    if key == "n!":
 
        calc_entry.insert(END, "=" + str(math.factorial(int(calc_entry.get()))))
    if key == "√2":
 
        calc_entry.insert(END, "=" + str(math.sqrt(int(calc_entry.get()))))
    else:
            if "=" in calc_entry.get():
                calc_entry.delete(0, END)
            calc_entry.insert(END, key)
 
root.mainloop()
Добавлено через 3 минуты
Прошу прощения, первый раз здесь. Пришлось обратиться сюда обратиться за помощью из-за такой ситуации
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 17:01
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def calc(key):
    global memory
    if key == "=":             
root = Tk() # вам не бросается в глаза этот участок кода в функции?
root.title("Calculator")# который предполагает что код функции завершен
 
calc_entry = Entry(root, width = 33)# и дальше идет основная программа
calc_entry.grid(row=0, column=0, columnspan=5)
 
#исключение написания слов
        str1 = "-+0123456789.*/)("  # опсс ну тогда откуда отступ и к чему он относиться?
        if calc_entry.get()[0] not in str1:
            calc_entry.insert(END, "First symbol is not number!")
            messagebox.showerror("Error!", "You did not enter the number!")
#исчисления
        try:
            result = eval(calc_entry.get())
            calc_entry.insert(END, "=" + str(result))
        except:
            calc_entry.insert(END, "Error!")
            messagebox.showerror("Error!", "Check the correctness of data")
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 17:03  [ТС]
Может быть, его засунуть в конец?
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 17:05
Цитата Сообщение от Dimka213 Посмотреть сообщение
Может быть, его засунуть в конец?
может лучше что то прочитать вместо того что бы гадать что куда засунуть, что то в конец или конец в что то.
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 17:06  [ТС]
Я не могу понять в чем ошибка. Я прочитал уже, все равно не понимаю
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 17:16
в отступах. все смешано. сначала пишем графику а потом логику калькулятора и привязываем к графике
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
from tkinter import *
from tkinter import messagebox
from tkinter import ttk
import math
import sys
 
#логика калькулятора
def calc(key):
    global memory
    if key == "=":             
#исключение написания слов
        str1 = "-+0123456789.*/)(" 
        if calc_entry.get()[0] not in str1:
            calc_entry.insert(END, "First symbol is not number!")
            messagebox.showerror("Error!", "You did not enter the number!")
#исчисления
        try:
            result = eval(calc_entry.get())
            calc_entry.insert(END, "=" + str(result))
        except:
            calc_entry.insert(END, "Error!")
            messagebox.showerror("Error!", "Check the correctness of data")
 
 
#очищение поля ввода
    if key == "C":
        calc_entry.delete(0, END)
#плюс/минус
    if key == "±":
        if "=" in calc_entry.get():
            calc_entry.delete(0, END)
        try:
            if calc_entry.get()[0] == "-":
                calc_entry.delete(0)
            else:
                calc_entry.insert(0, "-")
        except IndexError:
            pass    
 
    if key == "π":
        calc_entry.insert(END, math.pi)
 
    if key == "Exit":
        root.after(1,root.destroy)
        sys.exit
 
    if key == "xⁿ":
        calc_entry.insert(END, "**")
 
    if key == "sin":
        calc_entry.insert(END, "=" + str(math.sin(int(calc_entry.get()))))
 
    if key == "cos":
        calc_entry.insert(END, "=" + str(math.cos(int(calc_entry.get()))))
    if key == "(":
 
        calc_entry.insert(END, "(")
    if key == ")":
 
        calc_entry.insert(END, ")")
    if key == "n!":
 
        calc_entry.insert(END, "=" + str(math.factorial(int(calc_entry.get()))))
    if key == "√2":
 
        calc_entry.insert(END, "=" + str(math.sqrt(int(calc_entry.get()))))
    else:
            if "=" in calc_entry.get():
                calc_entry.delete(0, END)
                calc_entry.insert(END, key)
 
 
bttn_list = [
"7", "8", "9", "+", "*", 
"4", "5", "6", "-", "/",
"1", "2", "3",  "=", "xⁿ",
"0", ".", "±",  "C",
"Exit", "π", "sin", "cos",
"(", ")","n!","√2", ]
 
            
root = Tk()
root.title("Calculator")
calc_entry = Entry(root, width = 33)
calc_entry.grid(row=0, column=0, columnspan=5)
r = 1
c = 0
for i in bttn_list:
    rel = ""
    cmd=lambda x=i: calc(x)
    ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
    c += 1
    if c > 4:
        c = 0
        r += 1
root.mainloop()
ну с функциями и логикой разбирайтесь сами
0
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 17:30  [ТС]
С функциями и логикой все в порядке. Просто ошибку в руте выдаёт, понять так и не могу
0
 Аватар для Semen-Semenich
5237 / 3481 / 1176
Регистрация: 21.03.2016
Сообщений: 8,309
24.05.2020, 17:36
у меня не выдает (код выше) а вот что то решить тогда ошибки

1
0 / 0 / 0
Регистрация: 24.05.2020
Сообщений: 8
24.05.2020, 17:37  [ТС]
Понял. Ну спасибо за помощь
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
25.05.2020, 15:10
Лучший ответ Сообщение было отмечено Dimka213 как решение

Решение

Цитата Сообщение от Semen-Semenich Посмотреть сообщение
гадать что куда засунуть, что то в конец или конец в что то.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.05.2020, 15:10
Помогаю со студенческими работами здесь

ошибка в коде на питоне
Всем привет. Не подскажете ли где ошибка? def need(a, s): Del = '' for i in range(s): Del += a return Del a =...

Ошибка valueerror на питоне
Приветствую всех! Для начала скажу что я совсем сырой в теме программирования, совсем недавно погрузился в эту тему. Но очень сильно...

ИИ на питоне
Здравствуйте! Скажите, если есть достаточно большой пакет ИИ на питоне, каким образом можно его использовать в Unity? Или это будет...

О питоне
Всем привет. У меня тут назрело несколько вопросов по Питону. Так что буду благодарен если вы ответите на них. 1) Каким образом Питон...

Классы в Питоне
Доброго времени суток, дорогие программисты! Можете ли помочь с классами в языке Питон? Буду очень благодарна. Во втором файле приведен...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru