Найти - Пользователи
Полная версия: перехват результата ввода
Начало » GUI » перехват результата ввода
1 2
l-i-m-o-n_1
вот если у меня есть такая функция

def slozhenie(a)
x=input ('slozhenie:')

и

def slozhenie_1(b)
y=input('slozhenie_1:')

мне нужно чтобы фунция представленная нижу могла посчитать цифры введённые в двух предыдущих функция (я думая что она должна выглядеть както так, но выходит ошибка)

def rezultat_slozheniya©
print x+y

P.S. просьба сильно не пинать я только недавно начал
P.S.2 и эта программа на встроенном модуле Tkinter (просто весь код программы я не стал выкладывать)
shiza
Мило! =)

У каждой фукнции есть вход и выход. Т.е. какие-то переменные, которые ей передаются сверху при ее вызове (они называются аргументы).
И есть некторый результат работы, который она возвращает. Это делается с помощью специального слова return
Вот пример функции, которая складывает 2 числа:
def summa(a, b): #в этих скобочках указываются рагументы функции
return a+b #здесь мы складываем 2 числа и возвращаем резлуьтат
З.ы. не забывай в заголовке функции двоеточие после скобочек.
З.ы.ы. Когда выходит кака-ято ошибка - выкладывай в форум и ее тоже. Мы же не можем знать какая там у тебя ошибка %)
shiza
Еще момент.
Ты пользуешься функцией input
Она предназначена для считывания из командной строки. Зачем тебе тогда Tkinter? =)
Ferroman
Да, и помни что переменные объявленные внутри функции (локальные) не будут видны снаружи. Т.е х и у в твоём примере могут использоватся только каждый в своей функции. Для того что бы их использовать нужно их “вернуть” как написал shiza - с помощью return.
l-i-m-o-n_1
ну тогда скажи чем заменить input?
shiza
l-i-m-o-n_1
ну тогда скажи чем заменить input?
А ты хочешь чтоб было как?
Всплывающее окошко с полем ввода числа?
l-i-m-o-n_1
да
igor.kaist
ээээ… может быть на первых порах стоит поюзать easygui
вот пример из туториала…
from easygui import *
import sys
while 1:
msgbox("Hello, world!")
msg ="What is your favorite flavor?"
title = "Ice Cream Survey"
choices = ["Vanilla", "Chocolate", "Strawberry", "Rocky Road"]
choice = choicebox(msg, title, choices)
могу на Tkinter нужный тебе пример написать, но вряд ли это будет проще для тебя
shiza
А я рискнул сделать расписать пример.

# -*- coding: UTF-8 -*-
import Tkinter #это нам понадобится для работы
import tkMessageBox #и это нам понадобится для работы

main_Window = Tkinter.Tk() #создаем главное окно

text1 = Tkinter.Entry(main_Window) #создаем первое текстовое поле на главном окне
text1.pack() #размещает текстовое поле

text2 = Tkinter.Entry(main_Window) #создаем второе текстовое поле на главном окне
text2.pack() #размещает текстовое поле

def summ_and_display(): #функция, которая вытаскивает числа из текстовых полей, считает сумму и выводит результат
x = int( text1.get() ) #полчаем текст из первого текстового поля и преобразуем его в целое число
y = int( text2.get() ) #полчаем текст из второго текстового поля и преобразуем его в целое число
sum = x + y
tkMessageBox.showinfo('result', sum) #показываем высплывающее окно с результатом

#создаем кнопку для вычисления и делаем так,
#что при нажатии на нее будет выполняться функция summ_and_display
button = Tkinter.Button(main_Window, text="Calculate", command = summ_and_display)
button.pack() #размещает кнопку

main_Window.mainloop() #запускаем все вышенаписанное работать
l-i-m-o-n_1
shiza, ОГРОМНОЕ тебе спасибо!
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