注册 登录
编程论坛 Python论坛

请教老师,小程序哪儿有问题?

greenpop 发布于 2022-03-27 14:54, 1266 次点击
while max!=-1:
    max=int(input('请输入一个数(-1结束):'))
    i=2
    for i in range(2,max+1):
   
       if(max%i==0 and max!=i):
           print(max,'是合数')
           print(i,max)
        else:
           print('是质数')
           break      
2 回复
#2
蟒蛇出洞2022-03-27 18:45
你这个程序明显有错,用户输入的数字要是能被2-9除尽就是合数,注意,要他们不填1
#3
古1232022-03-28 17:44
回复 楼主 greenpop
语法上:
你的程序是从直接从写的代码中复制过来的吗?
如果是的话else的前面的空格少了,要和if一样。

逻辑上:
循环没必要有那个+1,因为肯定能被自身整除,+1没必要。

你的程序逻辑实际上是从2依次到本身,能不能被整除,被整除输出合数,不能输出是质数退出循环。
比如输入9:你的程序逻辑是先判断能否被2整除,不是,直接输出“是质数”break退出循环了。

其他:
论坛输入框的上面有插入代码的功能,鼠标放上去会有提示,点击一下就好
1