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