利用python写一判素数的函数,在主函数中输入一个整数,调用该函数进行判断并输出结果。
时间: 2023-05-01 10:05:52 浏览: 157
思路:
首先,需要编写一个函数来判断一个数是否为素数。素数是只能被1和自己整除的数,可以使用循环来检查每个数是否为因子。如果存在因子,那么就不是素数。
其次,在主函数中输入一个整数,并调用判断素数的函数进行判断。如果是素数,则输出“是素数”,否则输出“不是素数”。
代码实现:
```python
def is_prime_number(num):
'''
判断一个数是否为素数
'''
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def main():
num = int(input("请输入一个整数:"))
if is_prime_number(num):
print(num, "是素数")
else:
print(num, "不是素数")
if __name__ == "__main__":
main()
```
运行结果:
```python
请输入一个整数:17
17 是素数
请输入一个整数:22
22 不是素数
```
相关问题
编写一个 prime ()函数,判断一个正整数是否为素数,并且函数体里输出判断结果,该函数没有返回值。在主函数中输入10个正整数,调用prime ()函数判断是否为素数。
### 回答1:
以下是一个编写好的 prime() 函数,可以判断一个正整数是否为素数,并且输出判断结果:
```python
def prime(n):
if n <= 1:
print(n, "不是素数")
elif n == 2:
print(n, "是素数")
else:
for i in range(2, n):
if n % i == :
print(n, "不是素数")
break
else:
print(n, "是素数")
```
在主函数中,可以输入10个正整数,并调用 prime() 函数判断是否为素数:
```python
if __name__ == '__main__':
nums = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
for n in nums:
prime(n)
```
输出结果如下:
```
2 是素数
3 是素数
5 是素数
7 是素数
11 是素数
13 是素数
17 是素数
19 是素数
23 是素数
29 是素数
```
注意:这里的 prime() 函数没有返回值,只是在函数体里输出判断结果。如果需要在主函数中获取判断结果,可以将函数改为带返回值的形式。
### 回答2:
编写一个prime()函数,判断一个正整数是否为素数,并且函数体里输出判断结果,该函数没有返回值。
素数是指除了1和自身以外,没有其他因数的正整数。因此,可以通过循环从2开始到该数的平方根,依次判断是否有因数,如果存在因数,则不是素数。
代码如下:
```python
def prime(n):
if n <= 1:
print(n, "不是素数")
return
elif n == 2:
print(n, "是素数")
return
else:
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
print(n, "不是素数")
return
print(n, "是素数")
```
在上面的函数中,先判断n是否小于等于1或者等于2,如果是,则直接输出结果。否则,循环从2到平方根进行判断,如果存在因数,则直接输出结果,如果循环结束,仍然没有找到因数,则输出结果为素数。
在主函数中输入10个正整数,调用prime ()函数判断是否为素数。
代码如下:
```python
if __name__ == '__main__':
for i in range(10):
n = int(input("请输入一个正整数:"))
prime(n)
```
在主函数中,用一个循环遍历10次,每次输入一个正整数n,并调用prime()函数进行判断。在循环结束后,程序输出所有输入数字的素数结果。
完整代码如下:
```python
def prime(n):
if n <= 1:
print(n, "不是素数")
return
elif n == 2:
print(n, "是素数")
return
else:
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
print(n, "不是素数")
return
print(n, "是素数")
if __name__ == '__main__':
for i in range(10):
n = int(input("请输入一个正整数:"))
prime(n)
```
运行结果:
```
请输入一个正整数:8
8 不是素数
请输入一个正整数:17
17 是素数
请输入一个正整数:29
29 是素数
请输入一个正整数:39
39 不是素数
请输入一个正整数:41
41 是素数
请输入一个正整数:55
55 不是素数
请输入一个正整数:67
67 是素数
请输入一个正整数:71
71 是素数
请输入一个正整数:101
101 是素数
请输入一个正整数:121
121 不是素数
```
### 回答3:
素数是指只能被1和自身整除,不能被其他正整数整除的数。因此判断一个正整数是否为素数,只需要判断该数是否能被2到它自身减一之间的任意一个整数整除即可。编写一个prime()函数如下:
```python
def prime(num):
if num <= 1:
print(num, "不是素数")
else:
for i in range(2, num):
if num % i == 0:
print(num, "不是素数")
break
else:
print(num, "是素数")
```
在主函数中输入十个正整数,并调用prime()函数判断是否为素数,代码如下:
```python
if __name__ == '__main__':
nums = []
for i in range(10):
num = int(input("请输入一个正整数:"))
nums.append(num)
for num in nums:
prime(num)
```
上述代码中,首先定义了一个空列表nums来存储输入的十个正整数。然后利用for循环读取用户输入的十个正整数,并将它们添加到nums列表中。最后再利用for循环遍历nums列表中的每个元素,并依次调用prime()函数进行判断,输出判断结果。
运行结果截图如下:
从运行结果可以看出,函数prime()正确地输出了每个正整数是否为素数的判断结果。
输入一组整数,输出这组整数中素数的个数,写一个判断质数的函数,在主函数输入这组整数然后调用这个函数,输出素数的个数
为了实现这个功能,我们可以先编写一个用于判断一个数是否为素数的辅助函数,然后再在主函数中遍历给定的一组整数并计数素数的数量。以下是使用Python的一个简单示例:
```python
def is_prime(num):
"""
判断一个数是否为素数
:param num: 需要检查的整数
:return: 如果num是素数返回True,否则返回False
"""
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1): # 只需检查到根号n即可
if num % i == 0:
return False
return True
def count_primes(numbers):
"""
计算整数列表中素数的个数
:param numbers: 整数列表
:return: 素数的个数
"""
prime_count = 0
for number in numbers:
if is_prime(number):
prime_count += 1
return prime_count
# 主函数示例
if __name__ == "__main__":
input_numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
print(f"在给定的数字{input_numbers}中,素数的个数是: {count_primes(input_numbers)}")
阅读全文