为什么这种比较失败了?

时间:2016-01-16 22:16:36

标签: python numbers comparison typeerror

print("Enter the number you want to test")
Num1 = input("Enter your number here:")
if (Num1%1 == '0' and Num1%Num1 == '0'):
    print ("This number is prime number")
else:
    print("This number is nor prime number")

失败,错误为TypeError: not all arguments converted during string formatting。原因是什么?如何解决?

1 个答案:

答案 0 :(得分:1)

string返回int,您应将其转换为Num1 = int(input("Enter your name here:"))

if

并且if (Num1%1 == 0 and Num1%Num1 == 0): 部分更改为:

number

但是你的代码逻辑用于认识到一个数字是否为素数是不正确的,你应该检查for是否有一个因子,你应该写一个{{1}}循环通过它的较低数字和意识到这一点。这很简单,但我认为你自己写的更好。