首页 > 解决方案 > 无法将变量转换为整数(因为 if 语句?)

问题描述

很抱歉问,但我正在为过去的论文问题编写一个程序,以查找用户输入的数字是否是素数,然后循环它。

问题是我似乎无法在 if 语句中将输入userno从 a转换float为 an int

任何帮助将非常感激

run = True

while run == True:

    userno = float(input("Please enter a number to check if it's a prime number."))

    if userno < 1:
        print ("The number entered was lower than 1, so can't be prime.")
    else:
        int(userno)                         #this doesn't seem to work
        for norange in range (2,userno):    #userno is still a float here
            if userno % norange == 0:
                print ("This is not a prime number, sorry.")
            else:
                print ("This is a prime number. :)")

    runagain = input ("Do you want to enter another number? Please enter 'yes' or 'no'.")
    if runagain == "no":
        run = False

标签: python

解决方案


int(userno)将 userno 作为整数返回,但不会覆盖userno实际变量的值。

你需要使用userno = int(userno)


推荐阅读