Gigi233 发表于 2023-2-6 18:00:00

我这个该怎么改呀

python作业017:找出 10 以内的所有素数,如果不是素数,请打印出该合数对应的乘积公式
不知道我这个错哪了,有没有大神教教我啊

i=2                                                      
for j in range(2,11):
      if i%j==0 and i!=j:
            k=i/j
            print(i,'=',j,'*',k)
      else:
            print(i,'是一个素数')
      i=i+1                                             
            

小mi糊 发表于 2023-2-6 18:28:11

本帖最后由 小mi糊 于 2023-2-6 18:37 编辑

你应该是在IDLE中直接复制了这行代码,并且提示下面这段错误

SyntaxError: multiple statements found while compiling a single statement
翻译过来:编译单个语句时发现多个语句

- 因为IDLE是一个交互式解析器,所谓交互式也就是你说一句,他说一句
- 将复制的多行代码复制到.py文件中就可以运行了

isdkz 发表于 2023-2-6 19:30:48

for i in range(2, 11):
    flag = 1
    for j in range(2, int(10 ** 0.5) + 1):
      if i % j == 0 and i != j:
            flag = 0
            print(f'{i}={j}*{i//j}')
    if flag:
      print(f'{i}是一个素数')

chinajz 发表于 2023-2-6 21:53:18

#coding=gbk
for i in range(2,11+1):   
    素数=True
    for j in range(2,11):
            if i%j==0 and i!=j:
                素数=False
                k=int(i/j)
                print(f'   {i} 不是素数',i,'=',j,'*',k)
                break

    if 素数 is True:
                print(i,' 是一个素数')
                                          

Gigi233 发表于 2023-2-6 22:51:51

chinajz 发表于 2023-2-6 21:53


谢谢!

Gigi233 发表于 2023-2-6 22:52:20

isdkz 发表于 2023-2-6 19:30


明白了 谢谢!
页: [1]
查看完整版本: 我这个该怎么改呀