Python基础练习:素数判断、最大公约数与最小公倍数及三角形打印
需积分: 0 151 浏览量
更新于2024-08-04
收藏 2KB MD 举报
在本文档中,提供了三个Python编程练习题及其解答,针对不同领域的基础概念进行实战训练。以下是每个练习题的详细解释和代码实现:
1. **练习1:判断素数** - 这个题目要求编写程序来检查一个给定的正整数是否为素数。素数是指除了1和其本身以外,没有其他正因数的自然数。参考答案使用了Python的`math`库来找到数字的平方根,然后遍历从2到这个平方根的所有整数,如果发现可以整除该数,则说明它不是素数。最后根据结果输出相应的判断信息。
```python
from math import sqrt
num = int(input('请输入一个正整数:'))
end = int(sqrt(num))
is_prime = True
for x in range(2, end + 1):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('%d是素数' % num)
else:
print('%d不是素数' % num)
```
2. **练习2:计算最大公约数和最小公倍数** - 本题涉及两个正整数的最大公约数(GCD)和最小公倍数(LCM)。最大公约数是两个数共有的最大因数,而最小公倍数是能同时被这两个数整除的最小数。参考代码首先检查较大的数是否大于较小的数,然后通过迭代查找两个数的公共因子,最终确定GCD和计算LCM。
```python
x = int(input('x='))
y = int(input('y='))
# 交换较大和较小数
if x > y:
x, y = y, x
# 从较大数开始查找因子
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d和%d的最大公约数是%d' % (x, y, factor))
print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
break
```
3. **练习3:打印三角形图案** - 最后一个练习是生成特定形状的三角形,如星号(*)排列。用户输入行数,程序会按照递增的行数顺序打印星号,并在每一行增加空格,以形成向下延伸的三角形。参考答案给出了从空格和星号组合来实现的简单代码。
```python
row = int(input('请输入行数:'))
for i in range(row):
for j in range(i + 1):
print('*', end='')
print()
# 或者更简洁地生成倒三角形
for i in range(row):
print(' ' * (row - i - 1) + '*' * (i + 1) * 2)
```
以上三个Python编程练习涵盖了基础的数据输入处理、循环控制和算法应用,有助于巩固对Python语言的理解和基本逻辑结构的掌握。通过实际操作这些代码,程序员可以提升编程技能,并更好地理解如何利用循环和条件语句来解决实际问题。
2021-09-30 上传
2023-07-30 上传
2023-11-23 上传
2023-08-25 上传
2023-08-12 上传
2023-06-08 上传
2023-06-09 上传
2023-10-16 上传
2023-06-23 上传
互联小助手
- 粉丝: 48
- 资源: 51
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构