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 小时前
原码、反码、补码:一张图讲透计算机里的负数表示
算法·面试
benchmark_cc2 小时前
批量获取股票数据后,如何统一转换成 DataFrame?从数据结构到量化研究的完整实践
数据结构·python·数据分析·量化交易·股票数据·quantdash
X北辰北2 小时前
C++ 进阶第二阶段总结|STL容器全家桶、迭代器失效、STL算法、序列化入门(工程必备)
开发语言·c++·算法
溪语流沙2 小时前
面试加分项!Manacher:O(n)求最长回文子串的对称之美
java·python·leetcode·面试·职场和发展
过河卒_zh15667662 小时前
再更新!人工智能安全治理指引性文件第三版发布!
人工智能·算法·aigc·生成式人工智能·算法备案
树獭哥2 小时前
Deep Agents 学习笔记(一):从 Agent Harness 到第一个 Deep Agent
人工智能·python
旖旎夜光2 小时前
【LangGraph实战】LangGraph 学习笔记(五):信息裁剪、人机交互与时间旅行
笔记·python·学习·ai·人机交互·langgraph
Helix2502 小时前
Python单元测试实战:pytest框架从入门到企业级测试体系搭建指南
python·单元测试·实战·mock·pytest·测试覆盖率·fixture
软件开发技术深度爱好者2 小时前
ndexTTS-2和 CosyVoice之TTS(Text-to-Speech)使用python示例
开发语言·python