Python 分类数字是素数还是复合数

Python 分类数字是素数还是复合数,python,primes,Python,Primes,编写源代码,将2到20之间的所有数字分类为复合数或素数 num=21 if num >1: for i in range(2,num): if num % i == 0 num % i ==1: print(num,"are composite numbers" ) else: print(num, "are prime numbers") 请帮忙,我不知道我做错了什么你的身份被弄乱了,这是你出错的主要原因。另外,您的else部

编写源代码,将2到20之间的所有数字分类为复合数或素数

num=21
if num >1:
for i in range(2,num):
  if num % i == 0 num % i ==1:
    print(num,"are composite numbers" )
    else:
print(num, "are prime numbers")

请帮忙,我不知道我做错了什么

你的身份被弄乱了,这是你出错的主要原因。另外,您的
else
部分代码丢失

改用这个:

num=21
#如果给定的数字大于1
如果num>1:
#从2迭代到n/2
对于范围(2,int(num/2)+1)内的i:
#如果num可被
#2和n/2,它不是素数
如果(数量%i)==0:
打印(num,“不是质数”)
打破
其他:
打印(num,“是素数”)
其他:
打印(num,“不是质数”)

第一步:缩进全搞乱了。在Python中,缩进(即行开头的空格)是必需的,并指示文件的结构。您的两个
print
语句应该彼此处于同一级别,而
else
应该与
if
处于同一级别。