Python 练习Day1
·
1.找出100以内的偶数
list = []
for i in range(1,101):
if i % 2 ==0:
list.append(i)
print(list)
解析:
- 创建一个空列表
list,用于存储找到的偶数 - 用for循环遍历从1到100的整数(通过range(1,101)实现)
- 在循环内部,通过
if条件判断i % 2 == 0(即判断i是否能被 2 整除,能被 2 整除的数就是偶数)。如果是偶数,就使用list.append(i)将其添加到列表list中 - 最后打印储存所有偶数的列表
2.找出100以内的奇数
方法一:
list = []
for i in range(1,100):
if i % 2 !=0:
list.append(i)
print(list)
解析:同理(第一题)
方法二:
list = []
for i in range(1,100,2):
list.append(i)
print(list)
解析:
- 创建一个空列表
list range(1, 100, 2)表示生成从 1 开始,到 99 结束,步长为 2 的整数序列。这样生成的数本身就是奇数(因为从 1 开始,每次加 2,所以都是奇数)- 在循环中,直接使用
list.append(i)将这些奇数添加到列表list中 - 最后打印输出
3.判断素数
import math
def is_prime(n):
if n <= 1:
return False
if n == 2:
return True
if n % 2 == 0:
return False
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
try:
num = int(input("请输入一个整数:"))
if is_prime(num):
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
except ValueError:
print("请输入有效的整数!")
解析:
- 导入
math模块,主要用于后续计算平方根(math.sqrt()),以优化素数判断的循环范围 - 定义
is_prime函数- 首先判断如果
n小于等于 1,直接返回False - 若
n等于 2,直接返回True,2 是最小的素数 - 若
n能被 2 整除(n % 2 == 0),说明是偶数且不是 2,返回False - 之后通过
for循环从 3 开始,到n的平方根(取整后加 1)结束,步长为 2(只遍历奇数)。在循环中,若n能被某个i整除,说明n不是素数,返回False;若循环结束后都没有找到能整除n的数,返回True,说明n是素数。这样做是因为如果一个数不是素数,它一定有一个小于等于其平方根的因数,且除了 2 以外,素数都是奇数,所以只需要遍历奇数即可
- 首先判断如果
- 使用
try-except结构来捕获可能的ValueError异常。如果用户输入的不是整数(比如字母、特殊符号等),int(input(...))会抛出ValueError,此时执行except块,提示用户输入有效的整数 - 若输入是有效的整数,调用
is_prime函数判断该数是否为素数,并根据返回结果打印相应的信息
更多推荐
所有评论(0)