Python 我的变量不断出现语法错误。我该怎么办

Python 我的变量不断出现语法错误。我该怎么办,python,syntax-error,Python,Syntax Error,变量x始终显示为语法错误。它表示要生成的素数的数目 x=501 while x<1 or x>500: NoNos=int(input("Number of Prime Numbers")) if x<1: print("The number has to be greater than 1") if x>500: print("The number has t

变量x始终显示为语法错误。它表示要生成的素数的数目

    x=501
    while x<1 or x>500:
        NoNos=int(input("Number of Prime Numbers"))
        if x<1:
            print("The number has to be greater than 1")
        if x>500:
            print("The number has to be lesser than 500")
    PrimeNo=2
    PrimeNos=[]
    While not x==0:
        if PrimeNo==2:
            PrimeNos=PrimeNos+[PrimeNo]
            x=x-1
            PrimeNo=PrimeNo+1
            continue
        for divisor in the range (2,PrimeNo-1):
            if not PrimeNo%divisor=0:
                x=x-1
                PrimeNos=PrimeNos+[PrimeNo]
    print(PrimeNos)
x=501
而x500:
NoNos=int(输入(“素数的数目”))
如果x500:
打印(“数字必须小于500”)
素数=2
素数=[]
而不是x==0:
如果PrimeNo==2:
PrimeNos=PrimeNos+[PrimeNo]
x=x-1
PrimeNo=PrimeNo+1
持续
对于(2,素数-1)范围内的除数:
如果不是素数,则无%除数=0:
x=x-1
PrimeNos=PrimeNos+[PrimeNo]
印刷品(PrimeNos)

我修复了您代码中的一些错误

  • While=>While
  • 范围=>范围
  • PrimeNo%除数=0:=>PrimeNo%除数==0:
  • =======================================================================

    x=501
    while x<1 or x>500:
        NoNos=int(input("Number of Prime Numbers"))
        if x<1:
            print("The number has to be greater than 1")
        if x>500:
            print("The number has to be lesser than 500")
    PrimeNo=2
    PrimeNos=[]
    while not x==0:
        if PrimeNo==2:
            PrimeNos=PrimeNos+[PrimeNo]
            x=x-1
            PrimeNo=PrimeNo+1
            continue
        for divisor in range (2,PrimeNo-1):
            if not PrimeNo%divisor == 0:
                x=x-1
                PrimeNos=PrimeNos+[PrimeNo]
    print(PrimeNos)
    
    x=501
    而x500:
    NoNos=int(输入(“素数的数目”))
    如果x500:
    打印(“数字必须小于500”)
    素数=2
    素数=[]
    而不是x==0:
    如果PrimeNo==2:
    PrimeNos=PrimeNos+[PrimeNo]
    x=x-1
    PrimeNo=PrimeNo+1
    持续
    对于范围(2,素数-1)中的除数:
    如果不是素数,则无%除数==0:
    x=x-1
    PrimeNos=PrimeNos+[PrimeNo]
    印刷品(PrimeNos)
    
    这是Python中的一个bug。插入符号应指向“While”中的大写字母“W”。您必须用所有小写字母拼写“while”

    您还有其他一些打字错误:

       File "test.py", line 17
        for divisor in the range (2,PrimeNo-1):
                               ^
    SyntaxError: invalid syntax
    
    此处插入符号应指向“the”,应将其删除

      File "test.py", line 18
        if not PrimeNo%divisor=0:
                              ^
    SyntaxError: invalid syntax
    
    这次插入符号在正确的位置!='需要为“==”

    在我做了所有这些更改之后,您的程序仍然无法运行,但剩下的问题似乎不是语法问题


    (我在错误放置的插入符号上填写。)

    它在行中,而不是x==0:btw。前面的代码执行得很好,“PrimeNo%divisior=0”看起来可疑。它应该是一个“==”。哇,谢谢。然而,我认为我的程序会在那之后运行。无论我输入什么值,它总是返回值必须小于500。我该如何解决这个问题?非常感谢。然而,正如你提到的,它仍然是指导工作。它一直说,无论我输入什么,值都必须小于500。该部件在早期工作,并用于返回必须大于1的值,但现在返回的值必须小于500。很遗憾,我们不是通用调试服务。我愿意帮助您解决错误定位的插入符号在实际问题上误导您的情况,但是对于剩余的bug,您需要学会自己解决它们。我将提供一个提示:再次查看由
    input
    语句设置的变量。
      File "test.py", line 18
        if not PrimeNo%divisor=0:
                              ^
    SyntaxError: invalid syntax