Форум сайта python.su
 
							 0
  0   
								
								вот если у меня есть такая функция
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 (просто весь код программы я не стал выкладывать)
Офлайн
 
							 0
  0   
								
								Мило! =)
У каждой фукнции есть вход и выход. Т.е. какие-то переменные, которые ей передаются сверху при ее вызове (они называются аргументы).
И есть некторый результат работы, который она возвращает. Это делается с помощью специального слова return
Вот пример функции, которая складывает 2 числа:
def summa(a, b): #в этих скобочках указываются рагументы функции
return a+b #здесь мы складываем 2 числа и возвращаем резлуьтат
Отредактировано (Ноя. 1, 2008 12:42:38)
Офлайн
 
							 0
  0   
								
								Еще момент.
Ты пользуешься функцией input 
Она предназначена для считывания из командной строки. Зачем тебе тогда Tkinter? =)
Офлайн
 
							 1
  1   
								
								Да, и помни что переменные объявленные внутри функции (локальные) не будут видны снаружи. Т.е х и у в твоём примере могут использоватся только каждый в своей функции. Для того что бы их использовать нужно их “вернуть” как написал shiza - с помощью return.
Офлайн
 
							 0
  0   
								
								ну тогда скажи чем заменить input?
Офлайн
 
							 0
  0   
								
								l-i-m-o-n_1А ты хочешь чтоб было как?
ну тогда скажи чем заменить input?
Офлайн
 
							 0
  0   
								
								да
Офлайн
 
							 3
  3   
								
								ээээ… может быть на первых порах стоит поюзать  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)
Офлайн
 
							 0
  0   
								
								А я рискнул сделать расписать пример.
# -*- 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() #запускаем все вышенаписанное работать
Отредактировано (Ноя. 1, 2008 14:52:21)
Офлайн
 
							 0
  0   
								
								shiza, ОГРОМНОЕ тебе спасибо!
Офлайн