我想请问下代码中x -= 1在里面起什么作用

我想请问下代码中x -= 1在里面起什么作用


y = 3
x = y// 2
while x > 1:
    if y % x == 0:
        print(y,'has factor',x)
        break
    x -= 1
else:
    print(y,'is prime')

while x > 1: 是循环条件,当 x 大于1时循环,如果在循环内,不处理 x 数据,那么这就是个死循环了,而每次循环 x-=1 则表示每次 x 自减1,那么会越来越小,直至 x > 1 条件不成立,跳出循环

从最高的开始测试,每次x - 1
这个写法也可以,只是有点怪,通常是从2开始往上判断是否能够整除

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^