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 函数判断该数是否为素数,并根据返回结果打印相应的信息

更多推荐