Найти - Пользователи
Полная версия: Как написать функцию?
Начало » Python для новичков » Как написать функцию?
1
Old_DeD
Решил написать функцию что то вроде загрузки
Вот как выглядит функция:
 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))
-
--
---
----
-----
Но вместо этого выводиться сразу:
 -----
ZerG
 # -*- 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)
Old_DeD
Мне нужно чтобы функция возвращяла переменную c
к примеру чтобы при помощи этой функции можно было-бы сделать так:
 from tkinter import*
root = Tk()
lab = Label(root)
lab["text"]=load("-",5,1)
lab.pack()
root.mainloop()
ZerG
 # -*- 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)
doza_and
ZerG
Вы бы лучше объяснили человеку что time.sleep в gui приложении это пятая нога у коровы. Курить надо таймеры и события tkinter.
ZerG
У человека же вопрос не об этом?
Он к етому еще прийдет но ето будет уже другая сказка
Rodegast
 >>> 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
... 
'-'
'--'
'---'
'----'
'-----'
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