Generowanie wartości zmiennej.

0

Cześć,
Chciałbym napisać funkcję która zmienia wartość zmiennej co sekundę np. pomiędzy liczbami 0 i 1.
Taka funkcja mi nie działa ;/

import time

def generate_range():
    while true:
        z = 1
        return z
        time.sleep(0.1)
        z = 0
        return z
        time.sleep(0.1)

print(generate_range)
0

import time


def generate_range(z=1):
    while True:
        if z == 1:
            print(z)
            z = 0
        time.sleep(1)
        if z == 0:
            print(z)
            z = 1
        time.sleep(1)

print(generate_range(1))
0

Nie wiem po co to, ale masz:


from time import sleep

def generate_range():
    while True:
        print (1)
        sleep(1)
        print(0)
        sleep(1)

generate_range()

Tak na marginesie - chyba warto pomyśleć nad jakimś warunkiem zakończenia tego wypisywania.

0

Nie mogę sobie poradzić :/ Przedstawię to IDEOWO:
Mam pętlę z funkcją:

while True:
    pwm.set_pwm(0, 0, x)
    pwm.set_pwm(1, 0, x)

w której argumentowi x chcę nadawać wartość:
0, 1, 0, 1, itd. Zmiana wartości z 0 na 1 itd. ma następować co 1s, czyli:

while True:
    x = 0
    time.sleep(1)
    x=1
    time.sleep(1)

Pomocy :/

0

Zakładając że ta funkcja ma działać w tle, bo coś będzie z tej zmiennej korzystać, będziesz musiał zainteresować się wątkami (threads). Bo teraz owszem będzie zmieniać, ale jednocześnie "zablokuje" program.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0