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])
相关推荐
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
默_笙1 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003961 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技1 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读1 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
只睡四小时1 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控