Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 26, 2016 08:29:08

Old_DeD
Зарегистрирован: 2016-08-09
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать функцию?

Решил написать функцию что то вроде загрузки
Вот как выглядит функция:

 import time
def load(s,n,t):
    i = 1
    while i <= n:
        time.sleep(t)
        c = s
        c = s * i
        i = i + 1
    return c
То-есть она должна работать так:
 print(load("-",5,1))
-
--
---
----
-----
Но вместо этого выводиться сразу:
 -----

Отредактировано Old_DeD (Авг. 26, 2016 08:31:40)

Офлайн

#2 Авг. 26, 2016 08:56:20

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как написать функцию?

 # -*- coding: utf-8 -*-
import time
def load(s, n, t):
    i = 1
    while i <= n:
        time.sleep(t)
        c = s
        c = s * i
        i = i + 1
        print(c)
load("-",5,1)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Авг. 26, 2016 09:11:49

Old_DeD
Зарегистрирован: 2016-08-09
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Как написать функцию?

Мне нужно чтобы функция возвращяла переменную c
к примеру чтобы при помощи этой функции можно было-бы сделать так:

 from tkinter import*
root = Tk()
lab = Label(root)
lab["text"]=load("-",5,1)
lab.pack()
root.mainloop()

Офлайн

#4 Авг. 26, 2016 09:40:53

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как написать функцию?

 # -*- coding: utf-8 -*-
import time
def load(s, n, t):
    result = []
    i = 1
    while i <= n:
        time.sleep(t)
        c = s
        c = s * i
        i = i + 1
        result.append(c)
    return result
for i in load("-", 5, 1):
    print(i)



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#5 Авг. 26, 2016 09:43:30

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как написать функцию?

ZerG
Вы бы лучше объяснили человеку что time.sleep в gui приложении это пятая нога у коровы. Курить надо таймеры и события tkinter.



Отредактировано doza_and (Авг. 26, 2016 09:43:49)

Офлайн

#6 Авг. 26, 2016 09:47:56

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Как написать функцию?

У человека же вопрос не об этом?
Он к етому еще прийдет но ето будет уже другая сказка



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#7 Авг. 26, 2016 10:39:48

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2842
Репутация: +  186  -
Профиль   Отправить e-mail  

Как написать функцию?

 >>> import time
>>> def load(s,n,t):
...     i = 1
...     while i <= n:
...         time.sleep(t)
...         c = s
...         c = s * i
...         i = i + 1
...         yield c
... 
>>> for x in load("-",5,1): x
... 
'-'
'--'
'---'
'----'
'-----'



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version