【发布时间】:2015-01-29 22:31:41
【问题描述】:
我创建了一个无限循环来检查好友请求,如果有的话,它会接受它们,因此脚本会永远继续下去。
在此处查看代码:
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,但我仍然无法应用我读过的任何东西,因为我不知道怎么做。
【问题讨论】:
-
我不明白你想在这里做什么。您首先检查快照的媒体类型,将快照发件人添加为朋友,然后检查他是否是朋友?但是你说
loop that checks for friend requests, if there are any, it accepts them与你的代码相矛盾。 -
我正在尝试做的(或正在做的)如下:您只能通过 s.get_snaps() 看到好友请求,然后我过滤结果以便只显示类型 3 , 这些是好友请求。我过滤了名字,加上
s.add_friend(sender)sender的名字就是这里过滤的名字。之后我想检查一下,我还可以添加多少人,因为限制大约是 6000(实际上有点多)所以我做了一个 s.get_friends() 并使用类型 0(确认的朋友)过滤结果,我做使用 len 进行计数,并打印添加的人数与最大人数。 -
为什么不把代码的整个底部放在“if sender == 3”下面呢?这样它只会在您添加朋友后运行。
-
不,它用 5 / 6000 向我的命令行发送垃圾邮件,它会继续运行
-
nvm 我扔这个,太费劲了。 Snapchat 只是有一个糟糕的 api。现在突然之间,我的其他帐户又开始显示为好友请求。所以我必须通过检查它们是否已经被确认等等来过滤它们。
标签: python if-statement while-loop