为什么我在for循环的“ i”上收到无效的语法错误(python)

时间:2018-11-20 19:06:36

标签: python python-3.x for-loop syntax

我正在学习使用Python编程。当前,我正在尝试编写一个简单的函数,该函数将检查用户输入的数字是否为质数。函数的以下部分抛出“无效语法”符号:

else:
    For x in range(1,b**(1/2)):
        If b%x==0:
            print(str(b) + " is not prime")
            break

“ b”是在函数中其他位置定义的变量。它是用户提供的小于500的整数。我收到“无效语法”错误,该错误指向代码中“ for x in range ...”部分中的“ x”。我不明白为什么会这样,非常感谢您对此问题的一些见识。

到目前为止,如果有帮助,整个代码如下:

def check_prime():
   b = input("Enter an integer less than 500: ")
   if type(b)!='int':
       print("Please enter an integer")
   elif b > 500:
       print ("Please choose a smaller number")
   else:
       For x in range(1,b**(1/2)):
           If b%x==0:
              print(str(b) + " is not prime")
              break
       print (str(b)+ " is prime")

我知道该功能将无法完全按照我的预期运行,但是在解决语法错误问题之前,我不知道如何前进。预先感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

使用forif代替ForIF。另外,如果您跳过缩进,Python会给您一个错误

答案 1 :(得分:1)

“ For”和“ If”应分别为“ for”和“ if”。另外,range需要两个整数,而不是int和float。

b=9
for x in range(1,int(b**(1/2))):
    if b%x==0:
        print(str(b) + " is not prime")
        break