【发布时间】:2021-12-30 21:42:33
【问题描述】:
如何创建一个python函数来判断用户输入的数字是否为素数?如果是则返回 True,否则返回 False。然后显示指示它是否为素数的消息。
【问题讨论】:
标签: python python-3.x python-requests
如何创建一个python函数来判断用户输入的数字是否为素数?如果是则返回 True,否则返回 False。然后显示指示它是否为素数的消息。
【问题讨论】:
标签: python python-3.x python-requests
def prime_numbers(input_number):
flag = 0
for i in range(2, input_number):
if input_number % i == 0:
flag = 1
break
if flag == 1:
return False
return True
n = int(input('Give any number'))
is_prime = prime_numbers(n)
if is_prime:
print('The number is prime')
else:
print('The number is composite')
【讨论】:
这是一个简单的脚本,它检查 num 是否可以被 2 到 num - 1 之间的任何数字整除。如果我们在该范围内找到一个因子,则该数字不是素数,因此我们将 flag 设置为 True 并跳出循环。
num = int(input("Enter a number: "))
flag = False
# prime numbers are greater than 1
if num > 1:
# check for factors
for i in range(2, num):
if (num % i) == 0:
# if factor is found, set flag to True
flag = True
# break out of loop
break
# check if flag is True
if flag:
print(num, "is not a prime number")
else:
print(num, "is a prime number")
【讨论】:
def isprime(n):
'''check if integer n is a prime'''
# make sure n is a positive integer
n = abs(int(n))
# 0 and 1 are not primes
if n < 2:
return False
# 2 is the only even prime number
if n == 2:
return True
# all other even numbers are not primes
if not n & 1:
return False
# range starts with 3 and only needs to go up the squareroot of n
# for all odd numbers
for x in range(3, int(n**0.5)+1, 2):
if n % x == 0:
return False
return True
【讨论】: