Найти - Пользователи
Полная версия: Не могу понять ошибку
Начало » Python для новичков » Не могу понять ошибку
1 2
Lexanic37
from tkinter import *
class But_print():
def __init__(self):
self.create()
def create(self):
self.plus = Button(app, text = “+”)
self.plus.bind(“<Button-1>”, self.get)
self.plus.grid(row = 1, column = 0)


self.minus = Button(app, text = “-”)
self.minus.grid(row = 1, column = 1)


self.schet = Button(app, text = “=”)
self.schet.bind(“<Button-1>”, self.schet)
self.schet.grid(row = 0 , column = 1)


self.ent = Entry(app, width = 20 )
self.ent.insert(0, “введите число ”)
self.ent.grid(row = 0, column = 0)



def get(self, event):
one_number = self.ent.get()
self.ent.delete(0, END)
def schet(self, event):
two_number = self.ent.get()
self.ent.delete(0, END)
self.ent.insert(0, “Введите 2 число ”)
print(two_number)


root = Tk()
root.title(“Калькулятор”)
root.geometry(“200x100”)
app = Frame(root)
app.grid()
obj = But_print()
root.mainloop()
ТОлько начал свой путь в мир графического интерфейса поогите плз ничего не происходит по нажатию кнопки “=” Ошибка: Exception in Tkinter callback
4kpt_IV
Оберните код в тег code. Ничего же не понятно…
vanvanov
Вы этого хотели?
import tkinter as tk
class But_print():
	def __init__(self):
		self.create()
	def create(self):
		self.plus = tk.Button(text = "+")
		self.plus.bind("<Button-1>", self.get)
		self.plus.grid(row = 1, column = 0)
		self.minus = tk.Button(text = "-")
		self.minus.grid(row = 1, column = 1)
		self.calc = tk.Button(text = "=")
		self.calc.bind("<Button-1>", self.make_calc)
		self.calc.grid(row = 0 , column = 1)
		self.ent = tk.Entry(width = 20) 
		self.ent.insert(0, "введите число ")
		self.ent.grid(row = 0, column = 0)
	def get(self, event):
		first_number = self.ent.get()
		self.ent.delete(0, tk.END)
	def make_calc(self, event):
		second_number = self.ent.get()
		self.ent.delete(0, tk.END)
		self.ent.insert(0, "Введите 2 число ")
		print(second_number)
root = tk.Tk()
root.title("Калькулятор")
root.geometry("200x100")
app = tk.Frame(root)
app.grid()
obj = But_print()
root.mainloop()
1) У вас переменная schet совпадает с именем процедуры, так делать нельзя
2) Нельзя импортировать весь tkinter по той же причине (имена локальных процедур и процедур из tkinter могут совпасть)
3) Продумайте логику программы. Не очень удобно считывать числа по отдельности
4) Лучше использовать нормальные английские слова, а не транслитерацию
Kylik

Подскажите начинающему!
Не могу разобраться как запускать программы из командной строки windows,в значении переменной PATH путь к интерпретатору указал правильно:
C:\Users\WINDOWS>python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 6 2015, 01:38:48) [MSC v.1900 32 bit (In
tel)] on win32
Type “help”, “copyright”, “credits” or “license” for more
>>>
А вот при попытке открыть программу ничего не выводитпримеры из Марк Лутц “Изучаем программирование”)

C:\Users\WINDOWS>python script1.py
C:\Users\WINDOWS>

Или выдает ошибку,хотя программы сохранены в той же папке что и интерпретатор:

C:\Users\WINDOWS>python myfile.py
python: can't open file ‘myfile.py’: No such file or directory
C:\Users\WINDOWS>

И как правильней и удобней их запускать?
vanvanov
Kylik
Или выдает ошибку,хотя программы сохранены в той же папке что и интерпретатор
*.py(w) надо сохранять не в каталоге с интерпретатором, а в каталоге, откуда запущен cmd, в вашем случае - C:\Users\WINDOWS. Либо меняйте текущий каталог в cmd через cd и через dir посмотрите, находятся ли ваши программы в текущем каталоге.
И как правильней и удобней их запускать?
Установите Geany. Откройте в нем программу и запускайте через F5.
ZerG
Geany под виндой - вы в своем уме?
Pycharm free edition и все.
А если IDE влом то уже лутче SublimeText

vanvanov
ZerG
Geany под виндой
А почему бы и нет?
ZerG
Потому что такая суровая статистика что Джени для питон девелопа используют только мазахисты патриоты. Лутче уже VIM тогда
vanvanov
ZerG
Потому что такая суровая статистика что Джени для питон девелопа используют только мазахисты патриоты. Лутче уже VIM тогда
Если судить по статистике десктопа, то все не-win платформы вообще использовать не стоит. А в реальности, у меня уже была куча случаев, когда нормально работающий код нужно допиливать, чтобы он работал так, как задумывалось, на win. Я бы сказал, что это гораздо больший мазохизм, чем использовать Geany.
Lexanic37
vanvanov
Вы этого хотели?
Спасибо только начинаю работать с GUI. Просто учился по учебнику М.Доусона А там устарелый синтаксис.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB