gpt4 book ai didi

python - 无限循环,如果第一部分为真,则只执行部分脚本

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:51 25 4
gpt4 key购买 nike

我创建了一个无限循环来检查好友请求,如果有,它会接受它们,因此脚本会一直运行下去。

请看这里的代码:

while True:

snaps = s.get_snaps()

for sender in snaps:
if sender['media_type'] == 3:
s.add_friend(sender[u'sender'])


friends = s.get_friends()

names = []
for friend in friends:
if friend['type'] == 0:
names.append(friend[u'name'])

print "Amount of confirmed friends:",
print len(names),
print "/ 6000"

到目前为止,该脚本可以正常工作,但不是我想要的那样。

它一遍又一遍地打印 X/6000,这就是困扰我的地方。我只希望脚本在实际接受一个/多个好友请求时执行“打印”部分

所以这部分:

print "Amount of confirmed friends:",
print len(names),
print "/ 6000"

只有当某人真正被接受为好友时才能打印,从而更新确认好友的数量。

我在这里百感交集,我从来没有在使用 if 语句等方面如此详细。

我考虑过的场景是:

在添加某人的地方放置一个 if 语句,如果结果是(好?)它继续到脚本的其余部分。

或者在打印之前在底部放置一个 if 语句,表示如果确实添加了某个人,它就会打印,否则它会返回重复自己。

这里要记住一些事情,对 snapchat 服务器的请求/事件越少越好。因此,如果我可以在脚本的开头限制它,那将是首选。

虽然我不知道该怎么做。

有人能解释一下我如何检查是否有人(或多人)发现 media_type 3,如果有,它会继续执行脚本。如果没有,它会休眠几秒钟,然后返回重试。

我觉得这是一个微妙的主题,我担心我会搞砸我的代码,最终不知道我到底在做什么,并为此感到沮丧。在询问之前,我已经联系了 Google 和 TutorialsPoint,但我仍然无法应用我读过的任何内容,因为我不知道如何应用。

最佳答案

为了尽量减少对 snapchat 的调用次数,我会分解出 s.get_friends() 调用,以便它仅在脚本运行时执行:

import time

total_friends = len([friend for friend in s.get_friends()
if friend['type'] == 0])

SLEEP_TIME = 60

while True:
new_friends = 0
snaps = s.get_snaps()
for sender in snaps:
if sender['media_type'] == 3:
s.add_friend(sender[u'sender'])
new_friends += 1

total_friends += new_friends

if new_friends:
print 'Amount of confirmed friends:'
print total_friends, '/ 6000'
time.sleep(60)

这将获取您在进入循环之前拥有的当前好友数。然后它获取(大概是新的?)快照,添加正确的 media_type 并同时递增 new_friends。如果 new_friends 不为 0,它会打印新的好友总数。

关于python - 无限循环,如果第一部分为真,则只执行部分脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27236528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com