Generowanie wartości zmiennej.

Generowanie wartości zmiennej.
Piotr Piechowski
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:3
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 ;/

Kopiuj
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)
P2
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 4 lata
  • Postów:47
0

import time

Kopiuj

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))
edytowany 2x, ostatnio: Pes2009
P2
ale jaki sens ma mieć ta funkcja?
SE
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:318
0

Nie wiem po co to, ale masz:

Kopiuj

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.

edytowany 2x, ostatnio: Serechiel
Piotr Piechowski
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 7 lat
  • Postów:3
0

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

Kopiuj
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:

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

Pomocy :/

SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 12 godzin
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.