文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python常见的基础算法题有哪些

2023-06-27 09:51

关注

这篇文章主要介绍“Python常见的基础算法题有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python常见的基础算法题有哪些”文章能帮助大家解决问题。

1.求100(含100)以内所有偶数的和

range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和、求偶数和,就n的倍数和等等就可以这样做。

for j in range(0,101,2):

    s = s + j

print(s)

2.求第n位斐波那契数

这是求第n位斐波那契数,大家可以尝试多种方法做,我这就不做多的演示了,要是求n(包含n)位前所有斐波那契数了,创建一个列表保存一下就好,希望大家可以去做一下,加深对列表方法的使用

# 斐波那契数列:1,1,2,3,5,8,13,21,34,55.....

# 从第三位开始:后一个数等于前面两数相加

n = int(input('请输入你要求第几位斐波那契数:'))

a = 0

b = 1

for i in range(n):

    # c = a

    # a = b

    # b = c + b

    # 上三式可以简写为:

    a,b = b,a+b

print(a)

3.求水仙花数

我这定义了一个函数去求n位数的水仙花数,不过水仙花数就是100-1000内个位十位百位3次方的和等于本身的数,我那只是类推一下,当然也可以不定义函数,直接使用input输入一个n或者直接给定n的值

def get_Narcissistic(n):

    for i in range(pow(10,n-1),pow(10,n)):

        s = 0

        for j in range(n):

            s = s+pow(i//10**j%10,n)

        if i==s:

            print(i)

get_Narcissistic(3)

# 153

# 370

# 371

# 407

4.打印99乘法表

用于理解循环的使用

# a=0

# while a<9:

#     a+=1

#     b=0

#     while b<a:

#         b+=1

#         print(b,'*',a,'=',a*b,sep='',end='\t') #sep是分隔符默认是空格,\t是制表符

#     print()

for i in range(1,10):

    for j in range(1,i+1):

        print(f'{j}*{i}={i*j}',end='\t')

    print()

"""

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=12 4*4=16

1*5=5 2*5=10 3*5=15 4*5=20 5*5=25

1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36

1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49

1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64

1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

"""

5.百马百担

一匹大马能背3担货,一匹中马能背2担货,两匹小马能背1担货,如果用一百匹马背一百担货,有哪些不同的背法

for i in range(34): # i代表大马的匹数

    for j in range(51): # j代表中马的匹数

        if i*3+j*2+(100-i-j)/2 == 100:

            print(f'大马={i},中马={j},小马={100-i-j}')

# 大马=2,中马=30,小马=68

# 大马=5,中马=25,小马=70

# 大马=8,中马=20,小马=72

# 大马=11,中马=15,小马=74

# 大马=14,中马=10,小马=76

# 大马=17,中马=5,小马=78

# 大马=20,中马=0,小马=80

6.判断用户输入的年份是否为闰年

输入一个数,先判断如果是400的倍数,则满足;如果不是400的倍数,再判断如果该数能够被4整除,却不能被100整除,则满足。

n = int(input('请输入年份:'))

if n % 400 == 0 or n % 4 == 0 and n % 100 != 0:

    print('{0}是闰年'.format(n))

else:

     print('{0}不是闰年'.format(n))

高效方法:

python 的 calendar 库中已经封装好了一个方法 isleap() 来实现这个判断是否为闰年:

import calendar

n = int(input("请输入年份:"))

year = calendar.isleap(n)

if year == True:

    print ("{0}是闰年".format(n))

else:

    print ("{0}不是闰年".format(n))

关于“Python常见的基础算法题有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯