【发布时间】:2020-11-27 18:24:54
【问题描述】:
我需要创建一个程序来检查一个数字是否是素数,它首先提示用户输入一个数字,然后输入一个最多 3 个字符的字符串。如果通过键盘输入超过 3 个字符,程序应输出消息并退出。如果通过键盘输入非数字字符,程序应输出消息 Invalid input and exit。如果输入有效,程序应该显示 输入的消息号是质数或输入的消息号不是质数。
我目前有确定数字是否为素数的代码,但它似乎不起作用,当输入的数字是素数时,它不会给出“是素数”的输出。谁能看到我的质数代码哪里出错了?
def isPrime(n):
for i in range(2, n):
if (num % i) == 0:
print("is not a prime number")
break
else:
print("is a prime number")
str = input('Please enter a decimal number: ')
try:
n = int(str)
if len(str) > 3:
print ('Invalid input')
sys.exit()
if isPrime(n):
print ('Number entered is a prime number')
else:
print ('Number entered is not a prime number')
except:
print ('Number is not a prime number')
【问题讨论】:
-
你是在问如何测试一个数字是否大于 3?
-
所以你问如何判断字符串的
length 是否大于3?
标签: python string decimal primes