我在Python 3中创建了这个程序来检查数字是否为素数。
该计划如下 -
#Python program to check if the input number is prime or not
# take input from the user
num = int(input("Enter a number: "))
if num > 1:
# check for factors
for i in range(2,num):
if (num % i) == 0:
print(num,"is not a prime number")
print(i,"times",num//i,"is",num)
break
else:
print(num,"is a prime number")
else:
print(num,"is not a prime number")
现在,我的问题是我无法在此程序中输入指数数字。(我的意思是数字形式为2 ** 4或5 * 8)。
如果输入2 ** 4,我会得到此输出 -
如何更改程序以输入指数?
答案 0 :(得分:2)
num = eval(input())
会做你想做的事(这不安全,但玩具程序应该没问题)但根据定义,这样写的数字不是素数,所以我真的不明白这一点。
您还可以使用以下方法保存大量迭代:
for i in range(2,sqrt(num)+1):