因为论坛发不了代码。被一个for循环困住了!!我写在了下面的链接里面,大佬们帮忙看一下!!! 球完整写法!!!
https://paste.org.cn/p8Rrn1eOfO
有一个mjj大佬 非常精炼的表达了我的想法,可是我不会写!!!球大佬帮忙写一下,他这样说:
mjj变量被其他线程改为False的时候,输出会变成"我关机啦"的。
你应该是在同一线程改的mjj变量值。
你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
https://paste.org.cn/hXeqEYO0VR
推荐楼 yqnnko 昨天21:58
https://paste.org.cn/hXeqEYO0VR
这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是个布尔值 False 的时候才会是False而且你这个list第一次获取后就没有更新吧
推荐楼 zardon 昨天21:56
论坛会拦截代码 不让发python的代码
没看懂你写的什么东西,如果上面那位大佬没错的话还是线程竞争的问题,看一下会不会有多个线程同时修改mjj变量。比较基础的东西,注意”同时“
推荐楼 yqnnko 昨天21:47
腾讯云6折购 发表于 2022-9-19 21:45
大家都知道你这段代码啥意思 而且这段代码确实没毛病 主要这个Mjj是怎么获取的 另一个线程。另一个程序,还是VPS厂商提供的API?而且也不知道你处理/更新mjj这个变量的操作是不是有问题,还是要看源码
推荐楼 Mr.lin 昨天21:41
啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
推荐楼 腾讯云6折购 昨天21:38
建议把源代码贴出来
2楼 学到了么 昨天21:28
没错,我就是那个见死不救的人
3楼 yqnnko 昨天21:29
对不起 读不懂 这个mjj变量是从哪里来的
4楼 腾讯云6折购 昨天21:29
没错,我就是那个见死不救的人
呜呜呜
5楼 muzhiyun 昨天21:32
这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/article/details/98777578https://m.jb51.net/article/150449.htm
6楼 腾讯云6折购 昨天21:32
对不起 读不懂 这个mjj变量是从哪里来的
mjj这个变量是我在代码之前写好了 可以检测开机还是关机,我现在希望mjj开机的时候可以打印开机,关机的时候可以打印关机,重要的是及时打印
其实不用管mjj从哪里来的,你只要知道mjj是一个随时会变的一个变量,在true和fales互相变化
7楼 来一口 昨天21:35
建议把源代码贴出来
8楼 iiss 昨天21:36
手机网页打开白屏,抬走吧。
9楼 腾讯云6折购 昨天21:37
这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/ar ...
大佬 太看得起我了 我直接看懵比了 我才学了两天python 就想实现个小功能,结果遇到一个稍微高阶的问题 直接把我难住了
12楼 yqnnko 昨天21:40
大佬 太看得起我了 我直接看懵比了 我才学了两天python 就想实现个小功能,结果遇到一个稍微高阶的问题...
你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
13楼 Mr.lin 昨天21:41
啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
14楼 aceboy 昨天21:43
没看懂什么意思
15楼 来一口 昨天21:43
论坛会拦截代码 不让发python的代码
你贴出来的代码太少太抽象,别人想帮你都没办法。
16楼 腾讯云6折购 昨天21:44
啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
就是mjj在循环100次中途如果关机了 会检测不到 程序仍然会返回 “我开机啦”
17楼 u104b230 昨天21:45
不太懂為什麼要回圈100次 用while當關機再跳出不就好了
https://paste.org.cn/HIRdbZ34QQ
18楼 腾讯云6折购 昨天21:45
建议把源代码贴出来
19楼 yqnnko 昨天21:47
腾讯云6折购 发表于 2022-9-19 21:45
大家都知道你这段代码啥意思 而且这段代码确实没毛病 主要这个Mjj是怎么获取的 另一个线程。另一个程序,还是VPS厂商提供的API?而且也不知道你处理/更新mjj这个变量的操作是不是有问题,还是要看源码
20楼 腾讯云6折购 昨天21:50
你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
https://paste.org.cn/hXeqEYO0VR
22楼 iiss 昨天21:54
腾讯云6折购 发表于 2022-9-19 21:40
按你发的图,你并没有使用到多线程。
因为循环100遍的过程中,mjj作为一个变量数值是固定的,并没有修改的过程,修改是怎么修改的,你要么把代码全部发全,别磨磨唧唧的就发这一段,不然没人能给你解答。
23楼 zardon 昨天21:56
论坛会拦截代码 不让发python的代码
没看懂你写的什么东西,如果上面那位大佬没错的话还是线程竞争的问题,看一下会不会有多个线程同时修改mjj变量。比较基础的东西,注意”同时“
24楼 pixwang 昨天21:56
https://paste.org.cn/9v1azMu5fG
25楼 腾讯云6折购 昨天21:57
按你发的图,你并没有使用到多线程。
因为循环100遍的过程中,mjj作为一个变量数值是固定的,并没有修改 ...
mjj是list,我只是改了个名字
不是我墨迹 我是用的别人的成品框架 是一个ios插件,然后他提供一个检测屏幕颜色的,我通过这个检测 确定是否在亮屏如果是亮屏就打开一个软件
具体你说他怎么获取颜色的底层代码 我也不知道 因为我是个菜比 他的库名是:zxtouch
GitHub仓库地址是:https://github.com/xuan32546/IOS13-SimulateTouch
26楼 Chiser 昨天21:58
看的一头雾水,如果是说检测到状态是关机退出循环的话,https://paste.org.cn/STyHTHyYLv
27楼 yqnnko 昨天21:58
https://paste.org.cn/hXeqEYO0VR
这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是个布尔值 False 的时候才会是False而且你这个list第一次获取后就没有更新吧
28楼 腾讯云6折购 昨天21:59
这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是 ...
list是检测是三个颜色是否全部是0全部是0就表示屏幕是黑的 只要有一个是其他数值就是亮屏 我就打开一个软件
29楼 u104b230 昨天22:01
mjj是list,我只是改了个名字
不是我墨迹 我是用的别人的成品框架 是一个ios插件,然后他提供一个检测 ...
簡單來說就是你希望能一直檢測某個點屏幕不是黑的,直到檢測不是黑就開指定軟件,打開軟件後就不再偵測
30楼 腾讯云6折购 昨天22:02
看的一头雾水,如果是说检测到状态是关机退出循环的话,https://paste.org.cn/STyHTHyYLv ...
很明显这样是不行的 如果循环50次的时候 关机了,那么是无法检测到的 还是会打印“我开机啦”
32楼 腾讯云6折购 昨天22:03
簡單來說就是你希望能一直檢測某個點屏幕不是黑的,直到檢測不是黑就開指定軟件,打開軟件後就不再偵測 ...
打开软件后 依旧侦测直到十分钟之后就重头再开 如果中途黑屏了 也重头再来
33楼 directlinkss 昨天22:04
lz这个代码看的我一脸懵逼。为什么要这样写?还能这样写吗?应该这样写吧?是我最真实的情况。
34楼 yqnnko 昨天22:05
list是检测是三个颜色是否全部是0全部是0就表示屏幕是黑的 只要有一个是其他数值就是亮屏 我就打开一个 ...
你的list放了三个布尔值是个非空数组对吧,只要他不是空的 if 就会认为这是个True 他不会管你数组里放的是啥,而且你这代码从上到下只会执行一次,这个list压根不会改变
35楼 来一口 昨天22:07
你的目的如果只是判断开关机状态,没必要用100次循环了
36楼 Chiser 昨天22:09
很明显这样是不行的 如果循环50次的时候 关机了,那么是无法检测到的 还是会打印“我开机啦” ...
假设开机状态为1,关机状态为0,那么设备状态只有0和1,循环到第50次状态为0时,说明关机了,那么程序就会退出for循环,怎么还会打印呢?你说的打印是在for循环外面的代码?
37楼 u78 昨天22:10
再加个if判断句不就能判断了?
38楼 yqnnko 昨天22:12
对了 debug 是个好东西 你打个断点 一行一行的跑监视下变量就知道你出了啥问题了
39楼 antbt 昨天22:27
又菜又爱玩,表达能力还差。。。
带状态监测就不要用for固定循环次数了,用while更合适点,非要控制循环次数搞个变量记录下执行次数自己判断好点
40楼 u104b230 昨天22:28
沒有Run過 試試看
https://paste.opendev.org/show/brPBw9vKdcze1TiGFm2k/
@yqnnko他就是太菜 不適合寫code 連想要功能表達都有點不清楚
大概可能是这样,没跑过
43楼 腾讯云6折购 昨天22:37
沒有Run過 試試看
https://paste.opendev.org/show/brPBw9vKdcze1TiGFm2k/
44楼 inighty 昨天23:35
原来是zxtouch....看了下代码本身就有while True循环了为什么内部还整个循环直接判断就可以了
45楼 腾讯云6折购 14小时前
大概可能是这样,没跑过
感谢大佬,昨晚跑了一下直接一次运行成功!但是还有一点没能达到小弟的想法(也是我整个帖子的核心想要解决的问题),希望大佬有空帮我看一下,再次感谢
https://paste.org.cn/OfTJn4E9Fz
46楼 Faker007 1小时前
感谢大佬,昨晚跑了一下直接一次运行成功!但是还有一点没能达到小弟的想法(也是我整个帖子的核心想要解 ...
你是真的一点代码都看不明白吗?
很明显,while循环里的screen_is_on()函数会一直检测手机是否黑屏了,如果锁屏了,就会走到else里,调用 start_your_app() 把你要打开的软件再拉起来,很明显,这个 start_your_app()要你自己去写,我又不知道你是要启动什么app。不知道你老搁哪纠结600s干什么。如果你不想把你的app再启动起来,你直接再else里把start_your_app() 改成break跳出break循环。
47楼 Faker007 1小时前
你是真的一点代码都看不明白吗?
很明显,while循环里的screen_is_on()函数会一直检测手机是否黑屏了, ...
你看看你表达的什么意思:
最后这个600秒,如果我在这600秒内手机锁屏了,我希望它能停止,或者直接跳过剩下的时间,而不是一直傻傻的跑完600秒! (停了之后整个while会重新进入循环,再次检测手机是否亮屏,亮屏就打开app,否则就什么都不做)
=============
前一句话,600s内手机锁屏了停止。括号里的内容,停止之后while进入循环,重新检测手机是否锁屏,锁屏就打开app。
真的看不懂你在说什么东西
48楼 ros66 1小时前
不知道你在搞干什么,花这么大手笔写没意义的文字,不如直接贴源码出来
49楼 imes 1小时前
一个while True和count就能解决,不知道你是不是要的这种效果
https://paste.org.cn/Gf4HXJh9ZB
50楼 Faker007 1小时前
你看看你表达的什么意思:
最后这个600秒,如果我在这600秒内手机锁屏了,我希望它能停止,或者直接跳过剩下 ...
想要理解你表达的意思是真艰难
https://paste.org.cn/FS2NXCPwJI
52楼 Faker007 1小时前
他該付錢了 這種完全不懂程度就應該花錢外包給別人做
不太像是想學習那種 也完全吸不進去他腦袋 ...
说实话网上冲浪帮帮别人倒是无所谓,关键是这楼主自己一丁点表达能力没有,一个需求说那么多表达不清,给他写的代码自己也一点都不看,真是让人恼火,没人一直有那么好的性子
53楼 腾讯云6折购 18分钟前
想要理解你表达的意思是真艰难
https://paste.org.cn/FS2NXCPwJI
54楼 腾讯云6折购 11分钟前
你看看你表达的什么意思:
最后这个600秒,如果我在这600秒内手机锁屏了,我希望它能停止,或者直接跳过剩下 ...
不好意思 实在抱歉 不是故意打错字了真的非常非常抱歉 im so so so sorry!
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。
谷姐靓号网





评论前必须登录!
立即登录 注册