python第七章作业头哥
时间: 2025-05-21 16:42:10 浏览: 30
### Python第七章作业解答或示例
以下是关于Python第七章可能涉及的一些常见编程练习及其解答。这些内容涵盖了函数定义、模块调用以及基本算法实现等内容。
#### 判断用户输入的正整数是否为素数
下面是一个改进版的素数判断程序,修复了原代码中的逻辑错误并优化性能:
```python
def is_prime(num):
if num <= 1:
return False
elif num == 2 or num == 3:
return True
elif num % 2 == 0 or num % 3 == 0:
return False
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
return False
i += 6
return True
num = int(input("请输入一个正整数:"))
print(is_prime(num))
```
此版本通过减少不必要的除法运算提高了效率[^1]。
---
#### 计算多个参数乘积的功能扩展
对于给定的`cmul`函数,可以进一步增强其鲁棒性和可读性如下所示:
```python
def cmul(n, *args):
result = n
for value in args:
result *= value
return result
input_str = input("请输入一系列数字,逗号分隔:")
numbers = list(map(int, input_str.split(',')))
if numbers:
print(cmul(*numbers))
else:
print(1)
```
这里我们允许用户一次性输入任意数量的数值,并自动计算它们之间的连乘结果[^2]。
---
#### 将列表中所有的"零"移到最后而不改变其他元素顺序
这是一个典型的数组操作问题解决方案:
```python
def move_zeros(lst):
non_zero_elements = [item for item in lst if item != 0]
zero_count = len(lst) - len(non_zero_elements)
zeros_to_add = [0] * zero_count
return non_zero_elements + zeros_to_add
example_list = [8, 0, 7, 0, 9, 1, 0]
result = move_zeros(example_list)
print(result)
```
这段脚本利用列表推导式快速分离非零项与零项后再重新组合得到最终排列形式[^3]。
---
###
阅读全文
相关推荐













