Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 30, 2016 20:08:13

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Как можно упростить скрипт и пож дайте рекомендации

Есть скрипт на tkinter. Он решает уравнение в котором x = вычитаемым. Тоесть вот так:

10 - x = 5
x = 10-5
x = 5
10 - 5 = 5
5 = 5
Ответ: 5
Вот он сам:
 # -*- coding: utf-8 -*-
from tkinter import *
# root = Tk()
# root.geometry('640x500')
# root.title('Шпагалка по математике')
def x_vichitaemoe():
    # Действие после введение вычитаемого
    def vichitaemoe():
        try:
            x1 = str(um.get())
            xe1 = int(um.get())
            print(x1)
        except:
            exit('\033[41mОшибка! Введите число!')
        def answer_vich():
            # Разность
            x2 = str(viche.get ())
            xe2 = int(viche.get())
            #Форма всего решения
            verif = len(x1)  + len(x2)
            
            # TODO проверка что-бы было мало символов(маленькое окно)
            if verif >= 15:
                if xe2 < 1500:
                    pass
                else:
                    exit('Ошибка! Слишком много символов!')
            vich.destroy()
            if xe1 < xe2:
                exit ('Error!')
            else:
                answero = xe1 - xe2
                xent = str (answero)
                form = Tk ()
                form.title ('Решение')
                form.geometry ('300x200')
                gogo = ('Решение задачи: \n\n' +
                        x1 + ' - X = ' + x2 + '\n' +
                        'X = ' + x1 + ' - ' + x2 + '\n' +
                        'X = ' + xent + '\n' +
                        x1 + ' - ' + xent + ' = ' + x2 + '\n' +
                        x2 + ' = ' + x2 + '\n' +
                        'Ответ: X = ' + xent + '\nГотово!!!')
                labe = Label (form, text=gogo, font='12', width=27, height=9, bg='lightgrey')
                labe.pack ()
                labe.place (x=27, y=10)
                form.mainloop ()
        # vichitaemoe
        x_vich.destroy()
        vich=Tk()
        vich.title('Вычислить вычитаемое')
        vich.geometry ('300x200')
        viche=Entry(vich, width=30)
        viche.pack()
        viche.place(x=50, y=50)
        viche.focus_set()
        how = Button(vich, text='Ввести разность', width=14, command=answer_vich)
        how.pack(side='bottom', fill='both')
        how.place(x=50, y=20)
        vich.mainloop()
    # x_vichitaemoe(меню)
    x_vich=Tk()
    x_vich.title('Bычислить вычитаемое')
    x_vich.geometry('300x200')
    um = Entry(x_vich, width=20)
    um.pack()
    um.place(x=90,y=30)
    um.focus_set ()
    b = Button (x_vich, text="Ввести уменьшаемое", width=30,height=5, command=vichitaemoe)
    b.pack ()
    b.place(x=60, y=80)
    x_vich.mainloop()
# TODO Запуск скрипта
x_vichitaemoe()


Эот все.
Только она слишком большая(
И дайте какие-нибудь рекомендации по этой прогре плиз.
P.S. Программирую на Python(PyCharm) 2.5 месяца…

Отредактировано python335 (Окт. 30, 2016 20:10:28)

Офлайн

#2 Окт. 30, 2016 20:26:41

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

Как можно упростить скрипт и пож дайте рекомендации

python335
Есть скрипт на tkinter. Он решает уравнение в котором x = вычитаемым. Тоесть вот так:

Рекоммендацию по запросу даю: дели логику и визуальное отображение, так что прям писец дели!

Офлайн

#3 Окт. 30, 2016 20:29:20

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Как можно упростить скрипт и пож дайте рекомендации

А что не так?

Офлайн

#4 Окт. 30, 2016 20:29:42

python335
Зарегистрирован: 2016-10-19
Сообщения: 88
Репутация: +  -8  -
Профиль   Отправить e-mail  

Как можно упростить скрипт и пож дайте рекомендации

Всеж правильно(

Офлайн

#5 Окт. 31, 2016 10:40:13

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Как можно упростить скрипт и пож дайте рекомендации

Много ошибок. Очень много…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version