Python基础经典编程练习题,含答案

1、输出N以内的所有素数

描述:编程找出N(即小于等于N)的所有素数。

输入:输入一个正整数

输出:在同一行中从小到大依次输出不大于n的全部素数,每个数字后面一个空格。

示例:

输入:97

输出:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

python 复制代码
def is_prime(n):
    """判断素数的函数,接收一个正整数为参数,参数是素数时返回True,否则返回False
    减小判定区间,减少循环次数,提升效率"""
    if n < 2:
        return False      # 0、1、负数以及偶数都不是素数 
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:    # 能被2到其n-1之间的数整除的数不是素数
            return False
    else:
        return True       # for循环正常结束,未遇到return的数是素数


def output_prime(number):
    """接收一个正整数为参数,遍历从0到number之间的所有整数
    在一行中输出不大于number的所有素数,函数无返回值"""
    for i in range(number + 1):         # 遍历小于n的整数
        if is_prime(i):   # i为素数时输出i
            print(i, end=' ')  # 输出后不换行,空格分隔输出


positive_int = int(input())  # 输入一个正整数
output_prime(positive_int)      # 调用无返回值函数,不需要用print()

2、斐波纳契数列

描述:求斐波纳契(Fibonacci)数列:1, 1, 2, 3, 5, 8... 的前n项,n的值从键盘输入。

输入:"10"

输出:"1,1,2,3,5,8,13,21,34,55"

注意:

(1)‬输入使用 input(),不要增加额外的提示信息‬;

(2)输出使用 print(),不要增加额外的输出信息‬;

(3)Python中input函数返回值是字符串, 可以使用 int(input()) 或 eval(input()) 来进行转换‬。

python 复制代码
def f(n):
    if n==1 or n==2:
        return 1
    else:
        return f(n-1)+f(n-2)
m=eval(input())        
s=""
for i in range(1,m+1):
    s+="{},".format(f(i))
print(s[:-1])
相关推荐
小小张说故事2 小时前
Python 里 is 和 == 到底差在哪?拆开小整数池、字符串驻留与 0ns 身份比较
python
滴啦嘟啦哒2 小时前
【具身笔记】【Piper+PI0.5】三、探究失败原因
笔记·python·vla·具身
闻缺陷则喜何志丹2 小时前
【c++20】协程与屏障
c++·算法·c++20·携程·屏障
erzong2312 小时前
Linux操作系统:线程池&踩坑修复
linux·运维·算法
W_326002 小时前
Python 图像处理第二十八章|OpenCV 形态学操作进阶:腐蚀、膨胀、开运算、闭运算、梯度、顶帽黑帽
图像处理·人工智能·python·opencv·计算机视觉
alphaTao3 小时前
LeetCode 每日一题 2026/10/19-2026/10/25
算法·leetcode
BD_Marathon3 小时前
【Python】标准多态和鸭子多态
python
用户8356290780513 小时前
Python 操作 Excel:创建数组公式与 R1C1 公式
后端·python
万化冥合3 小时前
怎么批量把 Word 转 PDF?
python·pdf·c#·word
~城南花已开~3 小时前
Redfish 事件接收服务搭建指南(Ubuntu Server 实测)
linux·服务器·python·ubuntu