Найти - Пользователи
Полная версия: Нужна помощь с выводом текста
Начало » Центр помощи » Нужна помощь с выводом текста
1 2
KamaZ2564
Здравствуйте. Относительно - новичок в python, поэтому требуется ваша помощь.
Мне нужно сделать так, что значение определенно переменной проверялось постоянно (в цикле), но как только оно изменялось бы на определенно значение - выводился бы текст, но один раз, а не постоянно, из-за цикла. Думаю, что это легко, но до меня пока не доходит, возможно ли такое реализовать?
FishHook
KamaZ2564
у вас не получается цикл сделать или проверять значение переменной?
KamaZ2564
FishHook
KamaZ2564 у вас не получается цикл сделать или проверять значение переменной?

Нет, это получается. Вот код:

 while True:
			response = api.users.get(user_ids=target, fields='online')
			online = response[0]['online']
			if online == 1:
				print("Зашел")
			elif online == 0:
				print("Вышел")

Мне нужно, чтобы это выводилось один раз, а не постоянно из-за цикла. Например, человек вышел из сети(вк), написалось один раз: “Вышел”, зашел - написалось: “Зашел”. В данном случае одно из слов выводится без остановок.
FishHook
KamaZ2564
Мне нужно, чтобы это выводилось один раз, а не постоянно из-за цикла. Например, человек вышел из сети(вк), написалось один раз: “Вышел”, зашел - написалось: “Зашел”. В данном случае одно из слов выводится без остановок.
Ничего не понял, а нахрена же тогда цикл то?
KamaZ2564
FishHook

Вообщем: мне нужно проверять значение переменной Online постоянно, и, если это значение меняется на 1, то выводится текст, например: “Online”, если это значение меняется на 0, то текст: “Offline”. Цикл нужен, чтобы проверять значение этой переменной постоянно.
Rafik
Попробуй такой костыль
 old_online = 3
while True:
			response = api.users.get(user_ids=target, fields='online')
			online = response[0]['online']
			if online == 1 and old_online != 1:
                                old_online = 1
				print("Зашел")
			elif online == 0  and old_online != 0:
                                old_online = 0
				print("Вышел")
KamaZ2564
Rafik
old_online = 3
while True:
response = api.users.get(user_ids=target, fields='online')
online = response
if online == 1 and old_online != 1:
old_online = 1
print(“Зашел”)
elif online == 0 and old_online != 0:
old_online = 0
print(“Вышел”)

Спасибо конечно, но все равно не то. При дальнейшем изменении переменно Online никакой текст выводится не будет.
Проще говоря, мне нужно постоянно фиксировать изменения переменной Online.
Rafik
KamaZ2564
При дальнейшем изменении переменно Online никакой текст выводится не будет
Ты в этом уверен? Тогда как же получается такой фокус?
 >>> old = 3
>>> ii = 0
>>> while ii < 10:
...     print(ii)
...     if ii in (0,4,8):
...             line = 1
...     elif ii in(2,6):
...             line = 0
...     if line == 1 and old != 1:
...             print("Online!")
...             old = 1
...     elif line == 0 and old != 0:
...             old = 0
...             print("OffLine")
...     ii += 1
... 
0
Online!
1
2
OffLine
3
4
Online!
5
6
OffLine
7
8
Online!
9
Разве этот код не реагирует на каждое изменение переменной line? Print для вывода состояния line срабатывает только при изменении состояния line. Пардон за тавтологию.
crow
 import time
import datetime
last_status=False	#стартовый статус активности
while True:
	dt = datetime.datetime.now().second
	if dt%3==0:	#подобие проверки на активность
		if last_status==False:	#проверка последнего статуса
			last_status=True	#изменение статуса
			print('LogOn'+str(dt))
			time.sleep(5)	#остановка на пять секунд
	elif dt%3!=0:
		if last_status==True:	#проверка последнего статуса
			last_status=False	#изменение статуса
			print('LogOff'+str(dt))
			time.sleep(5)	#остановка на пять секунд

можешь взять за пример и попробовать написать сам. Данный код проверяет делится ли текущее datetime.datetime.now().second(секунды) на 3 без остатка и засыпает на 5 секунд. пиши если возникнут вопросы
KamaZ2564
Всем большое спасибо, разобрался.
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