python大佬快来! 在救一次!!!刚没说清 救命 救命!!!


因为论坛发不了代码。被一个for循环困住了!!我写在了下面的链接里面,大佬们帮忙看一下!!! 球完整写法!!!
https://paste.org.cn/p8Rrn1eOfO
有一个mjj大佬 非常精炼的表达了我的想法,可是我不会写!!!球大佬帮忙写一下,他这样说:
mjj变量被其他线程改为False的时候,输出会变成"我关机啦"的。
你应该是在同一线程改的mjj变量值。
最新回复 (49)
  • 楼主腾讯云6折购7天前
    引用2
    yqnnko 发表于 2022-9-19 21:40
    你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
    https://paste.org.cn/hXeqEYO0VR
    27-39行 就是要解决的问题
  • yqnnko7天前
    引用3
    腾讯云6折购 发表于 2022-9-19 21:50
    https://paste.org.cn/hXeqEYO0VR
    这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是个布尔值 False 的时候才会是False而且你这个list第一次获取后就没有更新吧
  • zardon7天前
    引用4
    腾讯云6折购 发表于 2022-9-19 21:38
    论坛会拦截代码 不让发python的代码
    没看懂你写的什么东西,如果上面那位大佬没错的话还是线程竞争的问题,看一下会不会有多个线程同时修改mjj变量。比较基础的东西,注意”同时“
  • yqnnko7天前
    引用5
    腾讯云6折购 发表于 2022-9-19 21:45
    大家都知道你这段代码啥意思 而且这段代码确实没毛病 主要这个Mjj是怎么获取的 另一个线程。另一个程序,还是VPS厂商提供的API?而且也不知道你处理/更新mjj这个变量的操作是不是有问题,还是要看源码
  • Mr.lin7天前
    引用6
    啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
  • 楼主腾讯云6折购7天前
    引用7
    来一口 发表于 2022-9-19 21:35
    建议把源代码贴出来
    论坛会拦截代码 不让发python的代码
  • 没错,我就是那个见死不救的人
  • yqnnko7天前
    引用9
    对不起 读不懂 这个mjj变量是从哪里来的
  • 楼主腾讯云6折购7天前
    引用10
    学到了么 发表于 2022-9-19 21:28
    没错,我就是那个见死不救的人
    呜呜呜
  • muzhiyun7天前
    引用11
    这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/article/details/98777578https://m.jb51.net/article/150449.htm
  • 楼主腾讯云6折购7天前
    引用12
    yqnnko 发表于 2022-9-19 21:29
    对不起 读不懂 这个mjj变量是从哪里来的
    mjj这个变量是我在代码之前写好了 可以检测开机还是关机,我现在希望mjj开机的时候可以打印开机,关机的时候可以打印关机,重要的是及时打印
    其实不用管mjj从哪里来的,你只要知道mjj是一个随时会变的一个变量,在true和fales互相变化
  • 来一口7天前
    引用13
    建议把源代码贴出来
  • iiss7天前
    引用14
    手机网页打开白屏,抬走吧。
  • 楼主腾讯云6折购7天前
    引用15
    muzhiyun 发表于 2022-9-19 21:32
    这是入门经典问题?多线程操作同一个全局变量会造成竞争,所以要加锁。https://blog.csdn.net/xingyan98/ar ...
    大佬 太看得起我了 我直接看懵比了 我才学了两天python 就想实现个小功能,结果遇到一个稍微高阶的问题 直接把我难住了
  • 楼主腾讯云6折购7天前
    引用16
    iiss 发表于 2022-9-19 21:36
    手机网页打开白屏,抬走吧。
  • yqnnko7天前
    引用17
    腾讯云6折购 发表于 2022-9-19 21:37
    大佬 太看得起我了 我直接看懵比了 我才学了两天python 就想实现个小功能,结果遇到一个稍微高阶的问题...
    你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
  • Mr.lin7天前
    引用18
    啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
  • aceboy7天前
    引用19
    没看懂什么意思
  • 来一口7天前
    引用20
    腾讯云6折购 发表于 2022-9-19 21:38
    论坛会拦截代码 不让发python的代码
    你贴出来的代码太少太抽象,别人想帮你都没办法。
  • 楼主腾讯云6折购7天前
    引用21
    Mr.lin 发表于 2022-9-19 21:41
    啥意思啊? 你的意思是说mjj在sleep那六秒内关机程序会错过, 就检测不到吗?
    就是mjj在循环100次中途如果关机了 会检测不到 程序仍然会返回 “我开机啦”
  • u104b2307天前
    引用22
    不太懂為什麼要回圈100次 用while當關機再跳出不就好了
    https://paste.org.cn/HIRdbZ34QQ
  • 楼主腾讯云6折购7天前
    引用23
    来一口 发表于 2022-9-19 21:35
    建议把源代码贴出来
  • yqnnko7天前
    引用24
    腾讯云6折购 发表于 2022-9-19 21:45
    大家都知道你这段代码啥意思 而且这段代码确实没毛病 主要这个Mjj是怎么获取的 另一个线程。另一个程序,还是VPS厂商提供的API?而且也不知道你处理/更新mjj这个变量的操作是不是有问题,还是要看源码
  • 楼主腾讯云6折购7天前
    引用25
    yqnnko 发表于 2022-9-19 21:40
    你确认你真的用到了多线程?多开源点吧,就这点代码没法看毛病
    https://paste.org.cn/hXeqEYO0VR
    27-39行 就是要解决的问题
  • zqqzqq7天前
    引用26
    https://paste.org.cn/MnjYsg5E5L
    每次循环都重新获取mjj值
  • iiss7天前
    引用27
    腾讯云6折购 发表于 2022-9-19 21:40
    按你发的图,你并没有使用到多线程。
    因为循环100遍的过程中,mjj作为一个变量数值是固定的,并没有修改的过程,修改是怎么修改的,你要么把代码全部发全,别磨磨唧唧的就发这一段,不然没人能给你解答。
  • zardon7天前
    引用28
    腾讯云6折购 发表于 2022-9-19 21:38
    论坛会拦截代码 不让发python的代码
    没看懂你写的什么东西,如果上面那位大佬没错的话还是线程竞争的问题,看一下会不会有多个线程同时修改mjj变量。比较基础的东西,注意”同时“
  • pixwang7天前
    引用29
    https://paste.org.cn/9v1azMu5fG
  • 楼主腾讯云6折购7天前
    引用30
    iiss 发表于 2022-9-19 21:54
    按你发的图,你并没有使用到多线程。
    因为循环100遍的过程中,mjj作为一个变量数值是固定的,并没有修改 ...
    mjj是list,我只是改了个名字
    不是我墨迹 我是用的别人的成品框架 是一个ios插件,然后他提供一个检测屏幕颜色的,我通过这个检测 确定是否在亮屏如果是亮屏就打开一个软件
    具体你说他怎么获取颜色的底层代码 我也不知道 因为我是个菜比 他的库名是:zxtouch
    GitHub仓库地址是:https://github.com/xuan32546/IOS13-SimulateTouch
  • Chiser7天前
    引用31
    看的一头雾水,如果是说检测到状态是关机退出循环的话,https://paste.org.cn/STyHTHyYLv
  • yqnnko7天前
    引用32
    腾讯云6折购 发表于 2022-9-19 21:50
    https://paste.org.cn/hXeqEYO0VR
    这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是个布尔值 False 的时候才会是False而且你这个list第一次获取后就没有更新吧
  • 楼主腾讯云6折购7天前
    引用33
    yqnnko 发表于 2022-9-19 21:58
    这个if list 就不对, 就算list里是三个False他也是数组 逻辑判断中相当于True ,只有他是空 或者本身就是 ...
    list是检测是三个颜色是否全部是0全部是0就表示屏幕是黑的 只要有一个是其他数值就是亮屏 我就打开一个软件
  • u104b2307天前
    引用34
    腾讯云6折购 发表于 2022-9-19 21:57
    mjj是list,我只是改了个名字
    不是我墨迹 我是用的别人的成品框架 是一个ios插件,然后他提供一个检测 ...
    簡單來說就是你希望能一直檢測某個點屏幕不是黑的,直到檢測不是黑就開指定軟件,打開軟件後就不再偵測
  • 楼主腾讯云6折购7天前
    引用35
    Chiser 发表于 2022-9-19 21:58
    看的一头雾水,如果是说检测到状态是关机退出循环的话,https://paste.org.cn/STyHTHyYLv ...
    很明显这样是不行的 如果循环50次的时候 关机了,那么是无法检测到的 还是会打印“我开机啦”
  • Faker0077天前
    引用36
    突然炸出来这么多mjj,围观。
    建议楼主先去学习一下语言表达能力
  • 楼主腾讯云6折购7天前
    引用37
    u104b230 发表于 2022-9-19 22:01
    簡單來說就是你希望能一直檢測某個點屏幕不是黑的,直到檢測不是黑就開指定軟件,打開軟件後就不再偵測 ...
    打开软件后 依旧侦测直到十分钟之后就重头再开 如果中途黑屏了 也重头再来
  • 引用38
    lz这个代码看的我一脸懵逼。为什么要这样写?还能这样写吗?应该这样写吧?是我最真实的情况。
  • yqnnko7天前
    引用39
    腾讯云6折购 发表于 2022-9-19 21:59
    list是检测是三个颜色是否全部是0全部是0就表示屏幕是黑的 只要有一个是其他数值就是亮屏 我就打开一个 ...
    你的list放了三个布尔值是个非空数组对吧,只要他不是空的 if 就会认为这是个True 他不会管你数组里放的是啥,而且你这代码从上到下只会执行一次,这个list压根不会改变
  • 来一口7天前
    引用40
    你的目的如果只是判断开关机状态,没必要用100次循环了
  • Chiser7天前
    引用41
    腾讯云6折购 发表于 2022-9-19 22:02
    很明显这样是不行的 如果循环50次的时候 关机了,那么是无法检测到的 还是会打印“我开机啦” ...
    假设开机状态为1,关机状态为0,那么设备状态只有0和1,循环到第50次状态为0时,说明关机了,那么程序就会退出for循环,怎么还会打印呢?你说的打印是在for循环外面的代码?
  • u787天前
    引用42
    再加个if判断句不就能判断了?
  • yqnnko7天前
    引用43
    对了 debug 是个好东西 你打个断点 一行一行的跑监视下变量就知道你出了啥问题了
  • antbt7天前
    引用44
    又菜又爱玩,表达能力还差。。。
    带状态监测就不要用for固定循环次数了,用while更合适点,非要控制循环次数搞个变量记录下执行次数自己判断好点
  • u104b2307天前
    引用45
    沒有Run過 試試看
    https://paste.opendev.org/show/brPBw9vKdcze1TiGFm2k/
    @yqnnko他就是太菜 不適合寫code 連想要功能表達都有點不清楚
  • 楼主腾讯云6折购7天前
    引用46
    antbt 发表于 2022-9-19 22:27
    又菜又爱玩,表达能力还差。。。
    带状态监测就不要用for固定循环次数了,用while更合适点,非要控制循环次 ...
    while试了 我写了也不行 我太菜了 呜呜呜
  • Faker0077天前
    引用47
    https://paste.org.cn/WtfxDZrjA4复制代码
    大概可能是这样,没跑过
  • 楼主腾讯云6折购7天前
    引用48
    u104b230 发表于 2022-9-19 22:28
    沒有Run過 試試看
    https://paste.opendev.org/show/brPBw9vKdcze1TiGFm2k/
    感谢大佬 我试试
  • inighty7天前
    引用49
    原来是zxtouch....看了下代码本身就有while True循环了为什么内部还整个循环直接判断就可以了
  • 楼主腾讯云6折购7天前
    引用50
    Faker007 发表于 2022-9-19 22:34
    大概可能是这样,没跑过
    感谢大佬,昨晚跑了一下直接一次运行成功!但是还有一点没能达到小弟的想法(也是我整个帖子的核心想要解决的问题),希望大佬有空帮我看一下,再次感谢
    https://paste.org.cn/OfTJn4E9Fz
  • 游客
    51
返回